15

在我的 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. mock从头开始创建一个最小的 linux 安装,并在编译我的代码之前安装指定的依赖项。我无法自定义此“最小安装”。

理想情况下,完美的解决方案是安装一个官方 RPM 包,替换gccgcc44默认编译器。有这样的包吗?这甚至可能/很好吗?

附加信息

我必须使用SCons(一种make替代方法),它不允许我指定要用于gcc.

我还将接受任何告诉我如何gcc在我的文件中指定二进制文件的答案SConstruct

4

2 回答 2

14
  1. 一种方法是gcc从源代码编译和安装。

  2. 请参阅http://old.nabble.com/Choosing-compiler-td4675207.html

从此:

env = Environment()
env.Replace(CC = "my_cc_compiler")

或者,根据这个问题的答案,

env['CC'] = 'gcc44'
于 2010-05-31T15:41:33.480 回答
8

这在过去已经很长了,但我只是想我会添加我找到的解决方案,它不需要更改 SConscript 文件。它对我很有用,因为我需要在 centos 5 下构建 v8,所以它可能对其他人也有用。

CC=gcc44 CXX=g++44 scons

而已!

于 2012-06-01T15:32:22.327 回答