3

BoostのGILイメージライブラリを使用するC++コードがあり、boost::gil::png_write_viewfromを使用してファイルを書き込みたいと考えていますboost/gil/extension/io/png_io.hpp。そのヘッダー自体にはが含まれpng.h、もちろんリンクの依存関係になります。

Debianでは、コンパイルして正常にリンクします。不足しているものについて文句を言った場合、必要なヘッダーとライブラリは。を介して数秒離れていaptitude install libpng-devます。

Windows(XP64上のVisualStudio 2008)では、ソース(およびそのzlib依存関係)からlibpngを自分でビルドする必要があるように見えるという考えに直面する必要があります。明らかなパッケージがすでにそこにある場合、私はそれを見ていません。どこかにそのような有用なリソースがある場合、誰かが私を教えてもらえますか?

4

1 に答える 1

4

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

私は最初にlibpngのGnuWin32ビルドを試しましたが、(32ビットのみであることを除いて)VS2008のCRTからFILE *が渡されると、fwriteへのlibpng呼び出しでクラッシュしました。libpng自身のドキュメントには、これとさまざまなバージョンのMSVCを混在させることの危険性についての説明がありますが、推奨される回避策は、直接のlibpngユーザーにのみ関連します(ブーストGILを介して使用しています)。

更新:変換されたプロジェクトファイルはかなりうまく機能します(おそらくいくつかのマイナーな明らかな修正)。仕事の最大の部分は64ビットビルドの作成でした。元のプロジェクトファイルと変換されたプロジェクトファイルにはそのような構成は含まれていません。VisualStudioはそれらの作成に取り掛かりますが、一貫したフォルダー/ファイル名などを取得するためにかなりの量の構成ダイアログ編集が行われました。

于 2011-12-29T17:02:57.680 に答える