1. 背景

在 Linux 环境下,我们有时需要使用不同版本的gcc进行测试或者运行软件,例如 Synopsys 公司旗下的 数字芯片设计 Debug 工具 Verdi + VCS 需要运行在 gcc 4.8 版本的环境当中,而我们现有的操作系统 gcc 版本一般已经升级到 gcc 8+ 版本。我们的实验室通常是多个人共用一台服务器,轻易的将整个环境的 gcc 版本进行升降会影响到他人的应用软件运行。所以,我们需要在自己的用户账户下使用不同的 gcc 版本而不改动整个操作系统。

2. 执行步骤

注意:以下的所有命令都是在 Ubuntu 22.04 版本下运行。

第一步

查看当前的 gcc 版本,使用命令。

gcc -v

第二步

安装您所需要的 gcc 特定版本,但不要做系统默认 gcc 的修改。

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-4.8.5

第三步

在自己的家目录下,建立一个目录 bin,并将其与 gcc 下载目录进行软链接。

cd ~
mkdir bin
ln -s /path/to/new/install/gcc  ./bin/gcc
ln -s /path/to/new/install/g++  ./bin/g++

第四步

查看是否软链接成功。

cd ~
ls ./bin -l

如果链接成功,会出现以下结果。

total 0
lrwxrwxrwx 1 test  16 Jan 10 16:24 g++ -> /usr/bin/g++-4.8.5
lrwxrwxrwx 1 test  16 Jan 10 16:24 gcc -> /usr/bin/gcc-4.8.5

第五步

修改自己家目录下的.bashrc。

cd ~
sudo vi .bashrc 

在文件末尾,添加以下内容,这一步目的是把新的编译器连接放到PATH环境变量里。

export PATH=$PATH:~/bin   #to use local gcc 4.8 not global gcc 9

第六步

执行以下命令让修改生效。

source ~/.bashrc

第七步

测试是否设置成功。

gcc -v

如果设置成功,最后一行文本应该为:

gcc version 4.8.5 (Ubuntu 4.8.5-4ubuntu2)