或任何包含目录/库。
我使用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?
答案 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.h
和zconf.h
头文件来制作minizip
图书馆。
因此,在构建zlib
之后,您将拥有minizip
所需的以下内容:
zlib.lib
在Release或Debug文件夹中。zlib.h
和zconf.h
根目录中的头文件。现在像这样设置 DZLIB_LIBRARY 和 DZLIB_INCLUDE_DIR :
zlib
当我需要minizip库并希望对您有帮助时,此解决方案确实对我有用。
答案 5 :(得分:0)
在我的情况下,设置ZLIB_ROOT,ZLIB_LIBRARY
c:\zlib - include
- lib