CMake 找不到 minizip 但我可以使用 zlib

问题描述

我正在尝试在 zlib 库中使用 minizip。我在 CentOS 上编译并使用了 zlib

yum -y install zlib-devel

问题是,在编译(并链接到 libz.so 库文件)时,看起来我可以在 zlib 中获取所有内容,但是找不到用于 minizip 的头文件或函数。例如,find_package(ZLIB REQUIRED) 有效,#include <zlib.h> 也有效,但 #include <minizip/zip.h> 返回文件未找到。

按照 John 在 minizip https://nachtimwald.com/2019/09/08/making-minizip-easier-to-use/ 上的博客中的说明进行操作

pkg_check_modules(MZIP minizip REQUIRED) 提示我找不到 minizip。

看着 rpm -ql zlib-devel 给出

/usr/include/zlib.h
/usr/lib64/libz.so

我以为 minizip 中的所有内容都只是 libz.so 的一部分?或者我需要做更多的事情来链接到 minizip 吗? 谢谢。

解决方法

不,minizip 不是 zlib 库的一部分。它包含在 zlib 源代码分发中,以及其他几个第三方贡献的 contrib/ 目录中。

您需要自己编译。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...