使用 MinGW 为 Windows 构建 Cairo(链接 libpng 的问题)

2024-03-14

我正在尝试建立cairo http://www.cairographics.org/在 Windows 上使用 MinGW(和 MSYS)。我正在按照说明进行操作为 Windows 编译 GTK+ 2.16.4 http://kemovitra.blogspot.com/2009/06/compiling-gtk-2-for-windows.html,除了我尽可能使用最新版本,即:

  • zlib-1.2.3
  • libpng-1.2.42
  • pixman-0.17.4
  • 开罗-1.8.8

在我尝试构建实际的开罗之前,这一切都非常有效。配置成功,但在 make cairo 期间似乎在链接到我的 libpng 版本时出现问题。过了一会儿,我收到一长串错误,例如:



.libs/cairo-png.o: In function `png_simple_error_callback':
/home/user/cairo-1.8.8/src/cairo-png.c:95: undefined reference to `png_get_error_ptr'
.libs/cairo-png.o: In function `png_simple_warning_callback':
/home/user/cairo-1.8.8/src/cairo-png.c:112: undefined reference to `png_get_error_ptr'

...

.libs/cairo-png.o: In function `stream_read_func':
/home/user/cairo-1.8.8/src/cairo-png.c:686: undefined reference to `png_error'
collect2: ld returned 1 exit status
make[3]: *** [libcairo.la] Error 1
make[3]: Leaving directory `/home/user/cairo-1.8.8/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/user/cairo-1.8.8/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/user/cairo-1.8.8'
make: *** [all] Error 2  

我尝试使用旧版本的 libpng (1.2.40,该版本由GTK+ 项目 http://www.gtk.org/download-windows.html),结果相同。当我运行“pkg-config -cflags -libs libpng”时,我得到“-IC:/MinGW/include/libpng12 -LC:/MinGW/lib -lpng12”,这似乎是正确的。我确信我犯了一些愚蠢的错误,但我无法说出它是什么。


显然这是一个已知问题。我不知道如何错过它,因为它甚至在blog http://kemovitra.blogspot.com/2008/01/installing-mingw-on-windows.html我正在遵循(我认为可以肯定地假设这也适用于 Windows 7,因为我尝试了第三个建议并且它解决了我的问题):

现在,让我们安装 MinGW。请注意,由于奇怪的文件系统限制,MinGW 在 Windows Vista 上运行不顺畅。解决方法是

  • 在 FAT 文件系统上安装 MinGW,
  • 在安全模式下工作,或者
  • 使用MinGW Portable,据说效果很好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 MinGW 为 Windows 构建 Cairo(链接 libpng 的问题) 的相关文章

随机推荐