1.ubuntu安装gcc 9.3.1
$ sudo apt update
$ sudo apt install gcc-9 g++-9
二、配置GCC版本
安装完成后,需要使用update-alternatives命令来配置GCC版本。这个命令允许系统在多个安装的版本之间进行选择
1.添加GCC 9.3.1到update-alternatives管理
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 90
这里,/usr/bin/gcc和/usr/bin/g++是GCC和G++的符号链接,它们指向当前正在使用的GCC版本。/usr/bin/gcc-9和/usr/bin/g++-9是GCC 9.3.1的安装路径。最后的数字(例如90)是优先级,数值越高,该版本的优先级越高
2.添加GCC 11.4.0到update-alternatives(如果尚未添加)
虽然目标是切换到GCC 9.3.1,但为了确保update-alternatives能够正确管理所有已安装的版本,也可以添加GCC 11.4.0(如果尚未添加)
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 50
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 50
这里的50是GCC 11.4.0的优先级
三、切换GCC版本
现在,可以使用update-alternatives命令来切换GCC版本:
sudo update-alternatives --config gcc
执行上述命令后,系统会列出所有已安装的GCC版本,并提示选择一个版本作为默认版本。按照提示输入GCC 9.3.1的编号,然后按Enter键确认
同样地,也可以为G++执行相同的命令来切换版本:
$ sudo update-alternatives --config g++
四、验证切换是否成功
最后,使用以下命令验证GCC和G++的版本是否已经成功切换到9.3.1:
$ gcc -v
$ g++ -v
输出显示的是GCC 9.3.1和G++ 9.3.1的信息,则说明切换成功
linux ubuntu系统问答:h-ttps://askubuntu.com/questions/1419593/how-to-resolve-the-error-package-gcc-8-has-no-installation-candidate-im-t?noredirect=1
更低版本:
方法一、安装gcc-8
首先,需要确保gcc-8已经安装在系统中。在基于Debian的系统(如Ubuntu)上,可以使用以下命令安装gcc-8
$ sudo add-apt-repository ppa:ubuntu-toolchain-r/test -y # 添加包含gcc-8的仓库(对于Ubuntu较旧版本可能需要)
$ sudo apt-get update # 更新软件包列表
$ sudo apt-get install gcc-8 g++-8 # 安装gcc-8和g++-8
方法二、gcc-8软件包在Ubuntu 22.04和更高版本的默认存储库中已经停产,但在Ubuntu 20.04默认存储库仍然可用。要在Ubuntu 22.04中从Ubuntu 20.04安装gcc-8软件包,请运行以下命令:
$ sudo apt update
$ wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/gcc-8_8.4.0-3ubuntu2_amd64.deb
$ wget http://mirrors.edge.kernel.org/ubuntu/pool/universe/g/gcc-8/gcc-8-base_8.4.0-3ubuntu2_amd64.deb
$ wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/libgcc-8-dev_8.4.0-3ubuntu2_amd64.deb
$ wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/cpp-8_8.4.0-3ubuntu2_amd64.deb
$ wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/libmpx2_8.4.0-3ubuntu2_amd64.deb
$ wget http://mirrors.kernel.org/ubuntu/pool/main/i/isl/libisl22_0.22.1-1_amd64.deb
$ sudo apt install ./libisl22_0.22.1-1_amd64.deb ./libmpx2_8.4.0-3ubuntu2_amd64.deb ./cpp-8_8.4.0-3ubuntu2_amd64.deb ./libgcc-8-dev_8.4.0-3ubuntu2_amd64.deb ./gcc-8-base_8.4.0-3ubuntu2_amd64.deb ./gcc-8_8.4.0-3ubuntu2_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/libstdc++-8-dev_8.4.0-3ubuntu2_amd64.deb
wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-8/g++-8_8.4.0-3ubuntu2_amd64.deb
sudo apt install ./libstdc++-8-dev_8.4.0-3ubuntu2_amd64.deb ./g++-8_8.4.0-3ubuntu2_amd64.deb
二、使用update-alternatives配置gcc-8
安装完gcc-8后,可以使用 update-alternatives 命令来配置它,使其成为一个可替代的gcc版本。具体步骤如下:
注册gcc-8为gcc的一个替代版本:
$ sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 800
$ sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 800