将操作系统从High-Sierra升级到Mojave之后,我开始出现cmake问题。
cmake当前问题是识别已安装的软件包。 问题:
> -- Package 'libffi', required by 'gobject-2.0', not found CMake Error at
> /usr/local/Cellar/cmake/3.14.5/share/cmake/Modules/FindPkgConfig.cmake:457
> (message): A required package was not found Call Stack (most recent
> call first):
> /usr/local/Cellar/cmake/3.14.5/share/cmake/Modules/FindPkgConfig.cmake:642
> (_pkg_check_modules_internal)
我的Mac在两个位置安装了此软件包-/usr/local/Cellar/libffi/3.2.1/lib/pkgconfig
和/usr/local/opt/libffi/lib/pkgconfig
在环境变量PKG_CONFIG_PATH
(export PKG_CONFIG_PATH="/usr/local/Cellar/libffi/3.2.1/lib/pkgconfig:/usr/local/opt/libffi/lib/pkgconfig"
)中指定这些位置。同时设置LDFLAGS
路径并运行cmake。
奇怪的是,我的cmake有时会成功,而有时会由于上述错误而继续失败。我尝试通过清除以前cmake的所有缓存cmake文件来实现cmake。
莫哈韦沙漠地区cmake行为不一致的原因是什么?我错过了什么吗?
参考类似的问题(建议设置pkg config路径可以解决此问题):
Mojave升级后,我必须立即执行的步骤:
> xcode-select --install
> open /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg
某些命令的结果:
libffi:稳定的3.2.1(带瓶装),HEAD [仅插电]便携式外部 功能接口库https://sourceware.org/libffi/ /usr/local/Cellar/libffi/3.2.1(16个文件,296.8KB)从 瓶子于2019-09-13 at 17:43:05来自: https://github.com/Homebrew/homebrew-core/blob/master/Formula/libffi.rb ==>选项 - 头 安装HEAD版本 ==>警告libffi仅限于小桶,这意味着它没有符号链接到/ usr / local,因为某些公式需要使用较新版本的libffi。
对于编译器来说,找到libffi可能需要设置:export LDFLAGS =“-L / usr / local / opt / libffi / lib”
对于pkg-config查找libffi,您可能需要设置:导出 PKG_CONFIG_PATH =“ / usr / local / opt / libffi / lib / pkgconfig”
/ usr / local