一、安装多个gcc版本
在Linux系统下,可以通过安装不同的gcc版本实现版本切换。首先,需要安装需要的gcc版本。
例如,安装gcc-4.8和gcc-8.3:
sudo apt-get install gcc-4.8
sudo apt-get install gcc-8
安装完后,可以在终端中使用下面的命令查看已安装的gcc版本:
dpkg --list | grep gcc
得到输出结果如下:
ii gcc-4.8 4.8.5-4ubuntu2~14.04.1 amd64 GNU C compiler ii gcc-4.8-base:amd64 4.8.5-4ubuntu2~14.04.1 amd64 GCC, the GNU Compiler Collection (base package) ii gcc-8 8.4.0-1ubuntu1~18.04 amd64 GNU C compiler ii gcc-8-base:amd64 8.4.0-1ubuntu1~18.04 amd64 GCC, the GNU Compiler Collection (base package)
可以看到已经安装的gcc版本的名称和版本号。
二、使用update-alternatives切换版本
在安装多个gcc版本后,可以使用update-alternatives工具切换版本。
使用下面的命令添加gcc-4.8为备选项:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
其中50表示优先级,数字越大优先级越高。
再使用下面的命令添加gcc-8为备选项:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 60
同样,数字60表示优先级,数字越大优先级越高。这里为了便于理解,将优先级设置为了不同的数字。
使用下面的命令查看gcc相关的备选项:
sudo update-alternatives --config gcc
得到输出结果如下:
There are 2 choices for the alternative gcc (providing /usr/bin/gcc). Selection Path Priority Status ------------------------------------------------------------ 0 /usr/bin/gcc-8 60 auto mode 1 /usr/bin/gcc-4.8 50 manual mode * 2 /usr/bin/gcc-8 60 manual mode Press <enter> to keep the current choice[*], or type selection number:
可以看到当前共有2个备选项,当前选中的是gcc-8。
使用对应的数字选择备选项即可进行版本切换。
三、使用alias命令切换版本
在终端中使用alias命令可以方便地切换不同版本的gcc。
在.bashrc文件中添加下面的代码:
alias gcc4='gcc-4.8'
alias gcc8='gcc-8'
之后在终端中输入gcc4即可使用gcc-4.8,输入gcc8即可使用gcc-8。
四、使用脚本自动切换版本
以上方法都需要手动切换版本,如果频繁切换版本,可以使用脚本实现自动切换。
在脚本中使用update-alternatives命令切换版本即可,可以根据需要设置优先级。
下面是示例脚本:
#!/bin/bash
if [ -z "$1" ]
then
echo "No argument supplied, please input version number"
else
if [ "$1" == "4.8" ]
then
sudo update-alternatives --set gcc /usr/bin/gcc-4.8
elif [ "$1" == "8.3" ]
then
sudo update-alternatives --set gcc /usr/bin/gcc-8
else
echo "Invalid argument, please input 4.8 or 8.3"
fi
fi
该脚本可以根据输入的参数来切换不同版本的gcc。
五、总结
以上就是gcc版本切换的几种方法,可以根据实际情况选择合适的方法,方便进行开发和测试。