如何将cmake指向zlib包含路径?

时间:2014-07-17 15:49:51

标签: build path directory cmake cmake-gui

或任何包含目录/库。

我使用cmake gui工具,所以我运行它,通常gui将突出显示它无法找到的包含或库,让你打开一个打开的对话框来设置路径但是它没有这样做这个cmake cofig它在gui工具的输出中用红色文字告诉你,所以,

CMake Error at C:/Program Files/CMake/share/cmake-3.0/Modules/FindPackageHandleStandardArgs.cmake:136 (message):
  Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
Call Stack (most recent call first):
  C:/Program Files/CMake/share/cmake-3.0/Modules/FindPackageHandleStandardArgs.cmake:343 (_FPHSA_FAILURE_MESSAGE)
  C:/Program Files/CMake/share/cmake-3.0/Modules/FindZLIB.cmake:101 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  src/CMakeLists.txt:7 (find_package)

所以仍然使用gui如何将cmake指向zlib include dir?

6 个答案:

答案 0 :(得分:16)

我首先假设你已经在某处安装了ZLib,我的猜测是它自CMake找到它之后就处于非标准位置。如果这是真的,您可以在CMake-gui中设置位置。您需要先点击“高级”按钮。顶部附近的复选框,因为FindZLIB.cmake文件包含以下行" mark_as_advanced(ZLIB_LIBRARY ZLIB_INCLUDE_DIR)"。

现在您应该能够看到ZLIB_LIBRARY ZLIB_INCLUDE_DIR选项并设置正确的路径。

答案 1 :(得分:13)

快速解决方案: apt-get install zlib1g-dev

答案 2 :(得分:4)

对于未来的googlers,根据docs

  

包含者可以将ZLIB_ROOT设置为zlib安装根,以告诉该模块在哪里查看。

答案 3 :(得分:1)

要添加到Elhanan Ilani的答案中(对于任何新手,例如我本人),应在CMakeLists.txt文件顶部附近声明。例如:

set(ZLIB_ROOT /home/foo/zlib-1.2.11/)
set(CURL_ROOT /home/foo/anaconda3/)

答案 4 :(得分:1)

制作zlib库时,需要zlib.lib静态库以及zlib.hzconf.h头文件来制作minizip图书馆。

因此,在构建zlib之后,您将拥有minizip所需的以下内容:

  • zlib.lib在Release或Debug文件夹中。
  • zlib.hzconf.h根目录中的头文件。

现在像这样设置 DZLIB_LIBRARY DZLIB_INCLUDE_DIR

zlib

当我需要minizip库并希望对您有帮助时,此解决方案确实对我有用。

答案 5 :(得分:0)

在我的情况下,设置ZLIB_ROOT,ZLIB_LIBRARY

c:\zlib - include
        - lib