在我的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
?
我不能使用符号链接的原因是因为我的代码必须使用RPM包mock
.mock
从头开始创建一个最小的linux安装,并在编译我的代码之前安装指定的依赖项.我无法自定义这个"最小安装".
理想的情况下,完美的解决办法是安装官方的RPM包替换gcc
与gcc44
作为默认的编译器.有这样的包裹吗?这甚至可能/好吗?
我必须使用SCons(make
替代),它不允许我指定用于的二进制文件gcc
.
我也会接受任何答案,告诉我如何gcc
在我的SConstruct
文件中指定二进制文件.
一种方法是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
而已!