我在适用于 Linux 的 Windows 子系统上运行 Ubuntu 20.04。Cmake 版本为 3.16.3。我尝试构建一个具有 zlib 依赖项的项目,但出现以下错误...
Could NOT find ZLIB (missing: ZLIB_LIBRARY) (found version "1.2.11")
Call Stack (most recent call first):
/usr/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:393 (_FPHSA_FAILURE_MESSAGE)
/usr/share/cmake-3.16/Modules/FindZLIB.cmake:115 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:1224 (find_package)
软件包 zlib1g 已安装。
我该如何纠正这个问题?
答案1
这似乎是 CMake 中的一个错误:https://gitlab.kitware.com/cmake/cmake/-/issues/20127。
答案2
我解决这个问题的方法是将库包含在命令行中,如下所示:
cmake -DZLIB_LIBRARY=/usr/lib/x86_64-linux-gnu/libz.so ..
答案3
编译时存在类似问题https://github.com/awslabs/aws-lambda-cpp/tree/master/examples/s3在 Ubuntu 22.04 或 Amazon Linux 2023 上。我通过添加以下内容解决了该问题CMakeLists.txt
:
find_package(ZLIB REQUIRED "1.0")