缺少 zlib:无法构建 Cairo 以在 Windows 上的 C++ 项目中使用

问题描述

我正在尝试将开罗用作 C++ 项目的一部分。我是处理 3rd 方库的新手,所以我不确定自己在做什么,以及是否遗漏了任何步骤。我也有兴趣学习如何以尽可能一致的方式正确下载、构建和包含 3rd 方库。

目前的步骤:

  • 安装了 MinGW64 和 MSYS2。
  • 将两个 bin 文件添加到系统路径 (c:\mingw64\bin & c:\msys\mingw64\bin)。
  • here 下载的源代码
  • 运行 ./configure 时,通过 pacman 下载解决了丢失的 pkg-config 和 libpng 包,没有问题。
  • 在 shell 中运行 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-zlibmingw-w64-x86_64-zlib

您在 MSYS2 的 zlib1.dll (/usr/bin?) 中找到的 /bin 是 MSYS 运行时的版本,是针对 MSYS2 从 Cygwin 借来的 POSIX-y 环境构建的。

在使用可通过 MSYS2 的包存储库提供的 MinGW-w64 编译器进行编译时,您将使用和构建的库分别放置在 32 位和 64 位版本的 /mingw32/mingw64 子目录中。