使用 Cmake 在 MacOS 上构建 Libzip 无法找到正确的包

问题描述

我正在构建 libzip [版本 1.7.3]。该包使用 CMake。

我进行以下初始设置:

wget -c https://github.com/nih-at/libzip/releases/download/v1.7.3/libzip-1.7.3.tar.gz
tar -zxf libzip-1.7.3.tar.gz
cd libzip-1.7.3
mkdir build && cd build

然后我运行以下命令:

cmake -DCMAKE_INSTALL_PREFIX=/usr/local ..

但是,Cmake 似乎无法找到 libbz2,因为我在消息列表中看到以下内容:

-- Found BZip2: /Library/Frameworks/libbz2.framework (found version "1.0") 

我之前在 /usr/local 中安装了 libbz2 [以及其他依赖项,如 GnuTLS、Nettle、XZ 等],我可以验证 libbz2.dylib 是否在 /usr/local/lib 中。

我已尝试将 CMAKE_PREFIX_PATH 专门设置为 /usr/local。而且我还修改了 FindBZip2.cmake,但我不是 CMake 专家,所以我没有超越更改变量分配[特别是强制 /usr/local 无效]。

它仅在我删除 libbz2.framework 时有效,但这不是一个可行的解决方案。

有没有办法解决这个问题?

解决方法

cmake -DCMAKE_IGNORE_PATH=/Library/Frameworks -DCMAKE_INSTALL_PREFIX=/usr/local ..

有关详细信息,请参阅 CMAKE_IGNORE_PATH 上的 cmake 文档。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...