c++ - 缺少 zlib:无法在 Windows 上构建 Cairo 以用于 C++ 项目
问题描述
我正在尝试将 Cairo 用作 C++ 项目的一部分。我是处理 3rd 方库的新手,所以我不确定我在做什么以及我是否错过了任何步骤。我也有兴趣学习如何以最一致的方式正确下载、构建和包含 3rd 方库。
到目前为止的步骤:
- 安装 MinGW64 和 MSYS2。
- 将两个 bin 文件夹添加到系统 PATH (c:\mingw64\bin & c:\msys\mingw64\bin)。
- 从这里下载的源代码。
- 运行 ./configure 时,通过 pacman 下载解决了丢失的 pkg-config 和 libpng 软件包,没有问题。
pacman -S mingw-w64-x86_64-zlib
在外壳中运行。
我现在被告知我缺少 zlib 并收到此错误
checking whether cairo's script surface backend feature could be enabled... no (requires zlib http://www.gzip.org/zlib/)
configure: error: recommended script surface backend feature could not be enabled
检查 MSYS2 的 bin 文件夹时,存在 zlib.dll 文件,使用 shell 告诉我我已经安装了它,因为它是 libpng 的依赖项。
目的是将 Cario 及其依赖项构建成我可以在 Windows 10 上的项目中使用的格式。
解决方案
您可能需要mingw-w64-i686-zlib
或mingw-w64-x86_64-zlib
。
zlib1.dll
您在 MSYS2 的/usr/bin
( ?) 中找到的/bin
是 MSYS 运行时的版本,并针对 MSYS2 从 Cygwin 借来的 POSIX-y 环境构建。
使用通过 MSYS2 的包存储库提供的 MinGW-w64 编译器进行编译时,您将使用和构建的库分别放在32 位/mingw32
和/mingw64
64 位版本的子目录中。
推荐阅读
- php - 表单自动计算php的答案
- xcode - 有没有一种部署方法可以将 alexa 技能转换为 Xcode 上的 IOS 应用程序?
- .net - 如何在使用区域的 razor 组件库中使用 blazor 服务器端?
- ibm-information-server - 在带有 Information Server 的服务器上安装 Discovery
- xamarin - 在共享项目中设置 AndroidResource 构建操作
- java - 使用 I/O 流解析 CSV 文件
- java - IntelliJ IDEA 中的 UnsupportedClassVersionError 故障排除
- tinymce - 图像未在 tinMCE 中显示
- java - 不兼容的类型不允许在 JOOQ dsl 中合并子查询
- ruby-on-rails - 在 erb 模板中创建实例变量