2012-02-08 62 views
10

我已经安装gcc-4.6使用homebrew-alternatives gcc公式,但我似乎无法得到它使用该GCC来安装其他公式。特别是Open-MPI和boost。使用替代GCC的自制软件

有没有人知道如何让自制软件使用这个新的编译器?

谢谢!

回答

5

这些答案现在都相当老。看来最近的自制软件版本有一个'-cc'选项,可以让你选择c编译器来使用。例如

brew install --cc=gcc-6 <package-name> 

将安装使用gcc的BREW版本

2

their wiki这听起来像不支持其他的编译器:

安装GCC或自动工具的定制版本到$ PATH已经突破很多编译的潜力。所以我们坚持使用Apple提供的编译器。

15

Homebrew无法使用命令行选项来适应其他版本的gcc。不过,如果编辑open-mpi和boost公式,则可以轻松覆盖较旧的编译器。例如,你可以在打开mpi.rb中的“def install”之后添加一些命令:

def install 
    # Force compilation with gcc-4.6 
    ENV['CC'] = '/usr/local/bin/gcc-4.6' 
    ENV['LD'] = '/usr/local/bin/gcc-4.6' 
    ENV['CXX'] = '/usr/local/bin/g++-4.6' 

    # Compiler complains about link compatibility with FORTRAN otherwise 
    ENV.delete('CFLAGS') 
    ENV.delete('CXXFLAGS') 

这对Lion来说很合适。祝你好运。

+1

谢谢!这听起来很像我想要的......我尝试从命令行设置CC和CXX,但显然酿造杀死了环境。 – 2012-02-15 20:13:43

15

看起来最新版本的Homebrew现在支持HOMEBREW_CCHOMEBREW_CXX环境变量。

所以,现在你可以做到以下几点:

$ HOMEBREW_CC=gcc-4.2 HOMEBREW_CXX=g++-4.2 brew install ice 
+0

谢谢!这太棒了。 – 2014-02-01 03:11:23

+0

为我工作! 'HOMEBREW_CC = gcc-4.5 HOMEBREW_CXX = g ++ - 4.5 brew install sfcgal' – Ring 2014-06-26 03:30:31

+0

为什么我不能做'HOMEBREW_CC = gcc-4.9 HOMEBREW_CXX = g ++ - 4.9 brew install openmpi' – ilciavo 2015-01-20 15:38:36