【问题标题】:How to permanently override HOMEBREW_CC and HOMEBREW_CXX settings?如何永久覆盖 HOMEBREW_CC 和 HOMEBREW_CXX 设置?
【发布时间】:2014-06-13 20:37:24
【问题描述】:

自从我在我的 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=...”,但这些都不起作用,只能直接编辑公式。

有人有想法吗?

【问题讨论】:

  • 成功了吗?我正在研究如何将 Homebrew 设置为默认使用 GCC

标签: c++ macos gcc homebrew


【解决方案1】:

可以肯定的是,穷人的解决方案,但这有效:在您的 .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
...

HTH

【讨论】:

    猜你喜欢
    • 2015-09-18
    • 2015-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-10
    • 2016-07-25
    • 1970-01-01
    相关资源
    最近更新 更多