由于我在Mac上安装了gcc-49
,因此无法再通过Homebrew找到C++编译器。它总是失败,并显示以下错误消息:
configure: error: C++ preprocessor "/lib/cpp" fails sanity check
运行“brew upgrade -v”会显示以下内容:
...
==> ENV
HOMEBREW_CC: llvm-gcc
HOMEBREW_CXX: llvm-g++
...
我不知道为什么Homebrew要使用这些编译器。为什么不能像其他所有东西一样使用普通的CC/CXX环境变量?
我已经发现,通过像Using Homebrew with alternate GCC中所述直接编辑公式,可以将
HOMEBREW_CXX
更改为使用/usr/local/bin/g++
,例如,这使需要C++的公式重新工作。但是我不想在余下的时间里手动编辑每个公式。如何永久更改此
HOMEBREW_CXX
环境变量 ?我尝试在.bash_profile中设置它们,并在控制台中运行“export HOMEBREW_CXX = ...”,但这些都不起作用,只能直接编辑公式。有人有主意吗?
最佳答案
可以肯定,这是一个穷人的解决方案,但是可行:在您的.bashrc
或.bash_profile
中添加一个别名:
alias brew='HOMEBREW_CC=gcc-4.8 HOMEBREW_CXX=g++-4.8 brew'
现在,无论何时使用
brew
,它都将使用所需的编译器。通过执行以下操作检查其是否有效:brew --env
HOMEBREW_CC: gcc-4.8
HOMEBREW_CXX: g++-4.8
...
高温超导