使用SCons更改Linux中的默认C编译器
在我的Linux平台上,我有几个版本的gcc
。
在usr/bin
我有:
-
gcc34
-
gcc44
-
gcc
以下是一些输出:
$ gcc --version gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-48) $ gcc44 --version gcc44 (GCC) 4.4.0 20090514 (Red Hat 4.4.0-6)
我需要使用4.4版本的gcc
但默认似乎是4.1版本。
我有办法替换/usr/bin/gcc
并使gcc44
成为默认编译器而不使用符号链接到/usr/bin/gcc44
吗?
我不能使用符号链接的原因是因为我的代码必须使用mock
在RPM包中提供。 mock
从头开始创建一个最小的linux安装,并在编译我的代码之前安装指定的依赖项。 我不能自定义这个“最小安装”。
理想情况下,完美的解决方案是安装一个官方RPM软件包,用gcc44
替换gcc
作为默认编译器。 有这样的套餐吗? 这甚至可能/好吗?
附加信息
我必须使用SCons (替代品)并且它不允许我指定用于gcc
的二进制文件。
我也会接受任何答案,告诉我如何在我的SConstruct
文件中指定gcc
二进制文件。
-
一种方法是从源代码编译和安装
gcc
。 -
见http://old.nabble.com/Choosing-compiler-td4675207.html
由此:
env = Environment() env.Replace(CC = "my_cc_compiler")
或者,根据这个问题的答案,
cc = env['gcc44']
这在过去已经很久了,但我只是想我会添加我找到的解决方案,这不需要更改SConscript文件。 它对我很有用,因为我需要在centos 5下构建v8,所以它可能对其他人也有用。
CC=gcc44 CXX=g++44 scons
而已!
我尝试过的一种方法是:
alias cc='/usr/bin/gcc44'
要么
alias gcc='/usr/bin/gcc44'
这取决于你是否使用cc或gcc来编译代码。
你可以在任何时候使用cc / gcc运行上面的命令,或者你可以添加上面的行是〜/ .bashrc或/ etc / bashrc文件。
注意:添加别名后必须执行source ~/.bashrc
或source /etc/bashrc
‘