如何永久覆盖HOMEBREW_CC和HOMEBREW-CXX设置
How to permanently override HOMEBREW_CC and HOMEBREW_CXX settings?
由于我在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/CSX环境变量?
我已经发现,通过像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
相关文章:
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- 在C++/Linux中设置单调时钟的一些技巧
- 如何在选项卡视图Qt中设置一个新项目,并保存以前的项目
- 嵌套在类中时无法设置成员数据
- 需要帮助设置在C++中使用的Potrace
- 如何在自删除后将对象设置为nullptr
- 将指针设置为"nullptr"并不能防止双重删除?
- 如何在Ubuntu中使用cmake设置qt4
- ld:bind_at_load和-bitcode_bundle(Xcode设置ENABLE_bitcode=YES)不能
- 如何在boost beast http请求中设置http头
- 如何解决gcc编译器优化导致的centos双编译器设置中的分段错误
- 如何将这个C++哈希表转换为动态扩展和收缩,而不是使用硬设置的最大值
- xmake总是报告:错误:无法获取cxx的程序,为什么
- 为什么文件名被设置为一个点,而不是在读取矢量中的文件名时
- 如何在24位SDL_Surface上设置像素的颜色
- std::设置自定义比较器
- 如何使用Mongo-CXX-Driver设置Visual Studio项目设置
- 如何在Visual Studio中使用mongodb-cxx-driver设置项目
- 如何在windows上设置cmake CXX变量
- 如何永久覆盖HOMEBREW_CC和HOMEBREW-CXX设置