在Ubuntu 20.04上,Cmake找不到ZLIB

3

我正在Windows Subsystem for Linux上运行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)

错误中提到的代码行如下:...
find_package(ZLIB REQUIRED)

安装了zlib1g包。我该如何纠正这个问题?


1
请将您的CMake代码作为文本添加到您的问题帖子中。 - Kevin
根据 https://github.com/Kitware/CMake/blob/v3.16.3/Modules/FindZLIB.cmake#L115 ,似乎找不到 ZLib 的 二进制文件,但是找到了 ZLib 目录。我猜测可能的原因是 Linux (libz.a) 和 Windows (zlib.lib) 采用了不同的命名约定。 - triclosan
@triclosan:在WSL下,不会使用Windows特定的库(.lib,.dll)。 - Tsyvarev
2
"已安装zlib1g软件包。" - 您是否也安装了zlib1g-dev软件包? 正是这个软件包提供了库文件,例如libz.solibz.aZLIB_INCLUDE_DIR CMake变量的内容是什么?(您可以在构建目录中的CMakeCache.txt文件中找到该变量)。 - Tsyvarev
我遇到了同样的错误,需要将 zlibwapi.lib 重命名为 zlib.lib - Gelliant
1个回答

1
sudo apt-get install zlib1g-dev

在构建其他库时,我遇到了同样的问题。只需安装zlib1g-dev即可解决我的问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接