如何在 Linux Ubuntu 上使用 2 个不同版本的 GCC 并强制 MAKE 使用其中之一

问题描述 投票:0回答:1

我正在使用最新版本的 Ubuntu,它附带 gcc 4.4.5 版本。我需要重新编译一个不是我编写的程序,该程序只能使用旧版本的 gcc(例如 4.0)进行编译。我设法配置这个旧版本并在安装过程中使用前缀,以便我的旧 gcc 版本位于 /opt/gcc-4.0.1/bin 中。我尝试使用

ln -s /opt/gcc-4.0.1/bin/gcc gcc
创建符号链接。但是当我调用
gcc -v
时,我仍然得到结果
gcc version 4.4.5
。要编译已经带有 makefile 的程序,如果我这样做
make
,它仍然使用新版本的 gcc。我如何告诉
make
使用旧版本?

linux ubuntu gcc
1个回答
21
投票

Make 使用一些标准变量来确定使用哪些工具,C 编译器变量称为“CC”。您可以直接在 Makefile 中设置 CC 变量

CC=/opt/gcc-4.0.1/bin/gcc

如果您独自工作,或者每个人都有相同的设置,这很好。或者您可以像这样在命令行上传递它:

make CC=/opt/gcc-4.0.1/bin/gcc

第三个选项在路径中的其他所有内容之前设置 /opt/gcc-4.0.1/bin (这就是为什么它对你不起作用,当前目录不在路径中,所以你放在那里的符号链接搜索时不会考虑)

export PATH=/opt/gcc-4.0.1/bin:$PATH

为了完整起见,在符号链接解决方案中,您必须调用

./gcc
才能获取正确的 gcc 实例,但恕我直言,这可能不是最好的解决方案。

HTH

© www.soinside.com 2019 - 2024. All rights reserved.