作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
自从我在我的 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
...
HTH
关于c++ - 如何永久覆盖 HOMEBREW_CC 和 HOMEBREW_CXX 设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23338713/
自从我在我的 Mac 上安装了 gcc-49 之后,我就再也无法让 Homebrew 找到 C++ 编译器了。它总是失败并显示如下错误消息: configure: error: C++ preproc
我是一名优秀的程序员,十分优秀!