执行brew install hub/gh时C compiler无法生成可执行文件求助
解决 brew install hub/gh 时的 C 编译器配置错误
问题根源
从config.log的报错信息可以看出,pkg-config在编译配置阶段调用gcc-7时,使用了该版本编译器不支持的-V和-qversion参数,导致编译器无法正常执行,最终触发"C compiler cannot create executables"的错误提示。gcc-7仅支持通过-v参数查看版本信息,不兼容另外两个参数。
可行解决方案
无需手动修改第三方配置脚本,通过以下方式调整编译器环境即可解决:
方法1:切换到系统默认Clang(推荐)
macOS自带的Clang编译器完全适配brew的编译需求,执行以下命令强制brew使用系统编译器:
export CC=clang export CXX=clang++ brew install hub gh
方法2:升级GCC到兼容版本
如果必须使用GCC,先安装支持-V参数的高版本GCC(如GCC 8及以上),再指定其为默认编译器:
brew install gcc export CC=gcc-12 # 替换为实际安装的GCC版本号 export CXX=g++-12 brew install hub gh
方法3:重置brew编译环境
若上述方法无效,先清理并检查brew环境,再重新安装:
brew cleanup brew doctor # 按照brew doctor的提示修复所有问题后,执行安装命令 brew install hub gh
注意事项
手动修改pkg-config的配置脚本并非长久方案,因为brew在重新安装或更新时会自动覆盖自定义修改。优先通过指定编译器的方式解决问题更稳定可靠。
内容的提问来源于stack exchange,提问作者flexwang
相关产品推荐
相关产品推荐

