在我的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)
我需要使用gcc
的4.4版本,但默认似乎是4.1版本。
我有办法替换/usr/bin/gcc
并使gcc44
默认编译器不使用符号链接到/usr/bin/gcc44
?< / p>
我无法使用符号链接的原因是因为我的代码必须使用mock
在RPM包中提供。 mock
从头开始创建一个最小的linux安装,并在编译我的代码之前安装指定的依赖项。我不能自定义这个“最小安装”。
理想情况下,完美的解决方案是安装官方RPM软件包,将gcc
替换为gcc44
作为默认编译器。有这样的套餐吗?这甚至可能/好吗?
我必须使用SCons(make
替代)和它不让我指定用于gcc
的二进制文件。
我也会接受任何答案,告诉我如何在gcc
文件中指定SConstruct
二进制文件。
答案 0 :(得分:14)
一种方法是从源代码编译并安装gcc
。
从那起:
env = Environment()
env.Replace(CC = "my_cc_compiler")
或者,根据this question的答案,
cc = env['gcc44']
答案 1 :(得分:7)
现在这已经很久了,但我只是想添加我找到的解决方案,不需要更改SConscript文件。它对我很有用,因为我需要在centos 5下构建v8,所以它可能对其他人也有用。
CC=gcc44 CXX=g++44 scons
就是这样!
答案 2 :(得分:1)
我尝试过的一种方法是:
alias cc='/usr/bin/gcc44'
或
alias gcc='/usr/bin/gcc44'
取决于您是使用 cc 还是 gcc 来编译代码。
您可以在需要使用cc / gcc时运行上述命令,也可以添加以上行〜/ .bashrc 或 / etc / bashrc 文件。
注意:添加别名后,您必须执行source ~/.bashrc
或source /etc/bashrc