MinGW (および MSYS) を使用して、Windows でcairoを構築しようとしています。Compiling GTK+ 2.16.4 for Windowsの指示に従っていますが、可能な限り最新バージョンを使用しています。
- zlib-1.2.3
- libpng-1.2.42
- pixman-0.17.4
- カイロ-1.8.8
これは、実際のカイロを構築しようとするまではうまく機能します。構成は成功しますが、make cairo の実行中に libpng のビルドへのリンクに問題があるようです。しばらくすると、次のようなエラーの長いリストが表示されます。
.libs/cairo-png.o: 関数 `png_simple_error_callback' 内: /home/user/cairo-1.8.8/src/cairo-png.c:95: `png_get_error_ptr' への未定義の参照 .libs/cairo-png.o: 関数 `png_simple_warning_callback' 内: /home/user/cairo-1.8.8/src/cairo-png.c:112: `png_get_error_ptr' への未定義の参照 ... .libs/cairo-png.o: 関数 `stream_read_func' 内: /home/user/cairo-1.8.8/src/cairo-png.c:686: `png_error' への未定義の参照 collect2: ld が 1 つの終了ステータスを返しました make[3]: *** [libcairo.la] エラー 1 make[3]: ディレクトリ `/home/user/cairo-1.8.8/src' を離れます make[2]: *** [すべて] エラー 2 make[2]: ディレクトリ `/home/user/cairo-1.8.8/src' を離れます make[1]: *** [全再帰] エラー 1 make[1]: ディレクトリ `/home/user/cairo-1.8.8' を離れます make: *** [すべて] エラー 2
古いバージョンの libpng (1.2.40、GTK+ プロジェクトによって配布されているバージョン) を使用してみましたが、同じ結果が得られました。「pkg-config -cflags -libs libpng」を実行すると、「-IC:/MinGW/include/libpng12 -LC:/MinGW/lib -lpng12」と表示されますが、これは正しいようです。私は愚かな間違いを犯していると確信していますが、それが何であるかはわかりません。