如何永久覆盖HOMEBREW_CC和HOMEBREW_CXX设置?

Cha*_*000 8 c++ macos homebrew gcc

自从我gcc-49在Mac上安装后,我无法让Homebrew找到C++编译器.它始终失败,并显示错误消息:

configure: error: C++ preprocessor "/lib/cpp" fails sanity check
Run Code Online (Sandbox Code Playgroud)

运行"brew upgrade -v"吐出这个:

...
==> ENV
HOMEBREW_CC: llvm-gcc
HOMEBREW_CXX: llvm-g++
...
Run Code Online (Sandbox Code Playgroud)

我不知道为什么Homebrew想要使用这些编译器.为什么它不能像其他一样使用普通的CC/CXX环境变​​量?

我已经发现,通过直接编辑公式,如使用备用GCC使用Homebrew中描述的那样,我可以更改HOMEBREW_CXX使用/usr/local/bin/g++例如,这使得编译需要C++的公式再次工作.

但我不想在剩下的时间里手工编辑每一个公式.如何永久更改此HOMEBREW_CXX环境变量?我尝试在我的.bash_profile中设置它们并在控制台中运行"export HOMEBREW_CXX = ...",这些都不起作用,只是直接编辑公式.

有没有人有想法?

jos*_*hwb 5

当然,这是一个穷人的解决方案,但这可行:在您的.bashrcor中添加一个别名.bash_profile

alias brew='HOMEBREW_CC=gcc-4.8 HOMEBREW_CXX=g++-4.8 brew'
Run Code Online (Sandbox Code Playgroud)

现在,每当您使用brew它时,都会使用您想要的编译器。通过执行以下操作来检查它是否有效:

brew --env
HOMEBREW_CC: gcc-4.8
HOMEBREW_CXX: g++-4.8
...
Run Code Online (Sandbox Code Playgroud)

华泰