问题描述
我正在构建 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 文档。