2011-12-29 17 views
2

私は、ブーストのGILイメージライブラリを使用するいくつかのC++コードを持っていて、boost::gil::png_write_viewからboost/gil/extension/io/png_io.hppのファイルを書きたいと思っています。そのヘッダー自体にはpng.hが含まれており、もちろんリンク依存関係が発生します。VisualStudio2008の開発にlibpngを利用する最も簡単で簡単な方法は何ですか?

Debian上でコンパイルとリンクが正常に行われます。見つからなかったことについて不平を言うなら、必要なヘッダーとライブラリはaptitude install libpng-devで数秒離れているでしょう。

Windows(VisualStudio 2008 on XP64)では、ソースからlibpngをビルドする必要があるように見えることに直面しています(zlib依存関係も)。明らかな包装が既にある場合、私はそれを見ていない。そのような有用な資源があれば誰でも私に啓発することができますか?

答えて

3

Libpng自身のパッケージ自体がvc6とVC7.1(VS2003)のプロジェクトファイルを提供しているようです。さらに最近のリリースでは、VC10プロジェクトファイルも付属しています。しかし、VC8(VS2005)やVC9(VS2008)では何もありません。しかし、instructions here(まだ試してみたことがあります)では、7.1プロジェクトファイルを変換ウィザードで実行した後に2008年のビルドを記述しています。

私は最初にGnuWin32 build of libpngを試しましたが、VS2008のCRTからFILE *を渡すとfwriteへのlibpng呼び出しでクラッシュしました(32ビットのみとは別に)。 libpng自身のドキュメントには、これとMSVCのさまざまなバージョンを混在させた場合の危険性について言及するものがありますが、提案されたworkroundは直接のlibpngユーザーにのみ関連しています(そして私はboost GILを使用しています)。

更新:変換されたプロジェクトファイルは、かなりうまく機能します(おそらく若干明白なフィックスアップです)。仕事の最大の部分は、64ビットビルドの作成でした。元のプロジェクトファイルと変換されたプロジェクトファイルにはこのような設定は含まれていません。また、ビジュアルスタジオには作成時の設定がありますが、一貫したフォルダ/ファイル名などを得るための設定ダイアログ編集がかなりあります。

+1

ちょうどメモ: VC8はVS2005、VC9はVS2008です。 –

+0

ありがとうございました。 – timday