使用 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 软件包,将 gcc
替换为 gcc44
作为默认编译器。有这样的包吗?这可能/好吗?
其他信息
我必须使用 SCons (make
替代方案)和 它不允许我指定用于 gcc
的二进制文件。
我还将接受任何告诉我如何在我的 SConstruct
文件中指定 gcc
二进制文件的答案。
On my Linux platform, I have several versions of gcc
.
Under usr/bin
I have:
gcc34
gcc44
gcc
Here are some outputs:
$ 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)
I need to use the 4.4 version of gcc
however the default seems to the 4.1 one.
I there a way to replace /usr/bin/gcc
and make gcc44
the default compiler not using a symlink to /usr/bin/gcc44
?
The reason why I can't use a symlink is because my code will have to be shipped in a RPM package using mock
. mock
creates a minimal linux installation from scratch and just install the specified dependencies before compiling my code in it. I cannot customize this "minimal installation".
Ideally, the perfect solution would be to install an official RPM package that replaces gcc
with gcc44
as the default compiler. Is there such a package ? Is this even possible/good ?
Additional information
I have to use SCons (a make
alternative) and it doesn't let me specify the binary to use for gcc
.
I will also accept any answer that will tell me how to specify the gcc
binary in my SConstruct
file.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
一种方法是从源代码编译并安装
gcc
。请参阅http://old.nabble.com/Choosing-compiler-td4675207。 html
由此:
或者,根据 这个问题,
One way is to compile and install
gcc
from source.See http://old.nabble.com/Choosing-compiler-td4675207.html
From that:
Or, as per the answer to this question,
这已经是很久以前的事了,但我只是想添加我找到的解决方案,它不需要更改 SConscript 文件。它对我很有用,因为我需要在 centos 5 下构建 v8,所以可能对其他人也有用。
就是这样!
This is a long way in the past now, but I just thought I'd add the solution I found, which doesn't require changing the SConscript file. It was useful for me as I need to build v8 under centos 5, so possibly it may be useful for someone else too.
That's it!