ソースをダウンロードし、構成を Release Library x64 に変更してビルドをヒットしました。それはすべてうまく構築され、いくつかのテストに合格しました。
次に、プロジェクトでlibpng(および任意のエラーを回避するためのzlib)を参照しましたが、libpng関数のいずれかを使用しようとするまで、すべてうまくビルドされます。(一部の typedef を使用できます)
tldr; libpng 関数を使用しようとすると、ランダムなエラーが発生します
libpng に関する情報がまったく見つかりません。あきらめて、より使いやすいライブラリを使用する必要がありますか?
編集: libpng および zlib ライブラリがあるパスを含めるようにライブラリ ディレクトリを設定しました。ライブラリ名をリンカー入力に追加しました (追加の依存関係)。これは、Visual Studio でライブラリを参照する標準的な方法だと思います
編集:
png_const_bytep header[8];
FILE* fp = fopen("test.png", "rb");
fread(header, 1, 8, fp);
png_sig_cmp(*header, 0, 8); // <--- ERROR, compiles fine without
そしていくつかのエラー:
- C4701: 初期化されていない可能性のあるローカル変数 'sig_bit' が使用されています (pngread.c 内)
- C2220: 警告はエラーとして扱われます - 「実行可能」ファイルが生成されません (pngread.c 内)
- LNK1257: コード生成に失敗しました
これらはどれも私のコードの一部ではなく、libpng の一部であることに注意してください。