我正在尝试使用 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
在我尝试构建实际的 cairo 之前,这非常有效。配置成功,但在 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]: *** [all] 错误 2 make[2]: 离开目录`/home/user/cairo-1.8.8/src' make[1]: *** [all-recursive] 错误 1 make[1]: 离开目录`/home/user/cairo-1.8.8' make: *** [全部] 错误 2
我尝试使用旧版本的 libpng(1.2.40,由GTK+ Project分发的版本),结果相同。当我运行“pkg-config -cflags -libs libpng”时,我得到“-IC:/MinGW/include/libpng12 -LC:/MinGW/lib -lpng12”,这似乎是正确的。我确定我犯了一些愚蠢的错误,但我不知道它是什么。