Mac下CMake无法识别brew安装的库,求简便解决方法
解决brew库PKG_CONFIG_PATH手动添加的繁琐问题
方法1:添加brew全局pkgconfig目录到环境变量
brew安装的大部分库会将.pc配置文件放到$(brew --prefix)/lib/pkgconfig目录(M1/M2架构Mac对应/opt/homebrew/lib/pkgconfig,Intel架构Mac对应/usr/local/lib/pkgconfig),直接把这个路径加入PKG_CONFIG_PATH即可覆盖绝大多数场景:
echo 'export PKG_CONFIG_PATH="$(brew --prefix)/lib/pkgconfig:$PKG_CONFIG_PATH"' >> ~/.zshrc
方法2:自动包含所有brew opt子目录的pkgconfig路径
部分库(比如openldap、hiredis)会将.pc文件放在自身的opt子目录里,这时可以用zsh通配符自动匹配所有这类路径:
echo 'export PKG_CONFIG_PATH="/opt/homebrew/opt/*/lib/pkgconfig:$(brew --prefix)/lib/pkgconfig:$PKG_CONFIG_PATH"' >> ~/.zshrc
(Intel架构Mac请将路径替换为/usr/local/opt/*/lib/pkgconfig)
方法3:使用brew自带的pkg-config包装器
brew自带的pkg-config已经默认整合了所有brew安装库的搜索路径,只需确保它的优先级高于系统自带版本:
echo 'export PATH="$(brew --prefix)/opt/pkg-config/bin:$PATH"' >> ~/.zshrc
配置完成后,运行pkg-config --list-all就能看到所有brew安装库的配置,CMake也会自动通过pkg-config识别这些库。
让配置立即生效
执行以下命令,无需重启终端即可应用修改:
source ~/.zshrc
内容的提问来源于stack exchange,提问作者Grimlock
相关产品推荐
相关产品推荐

