在编译某个源码库的时候,要求gcc版本在4.7版本,需要将gcc 11.3.0 降至 4.7 版本。
降低gcc版本参考博文:https://blog.csdn.net/haojie_duan/article/details/124143322
提升gcc版本参考博文:Ubuntu安装GCC5/7/9/10/11「建议收藏」 - 腾讯云开发者社区-腾讯云
安装 gcc-5:[ubuntu]ubuntu安装指定版本GCC_FL1623863129的博客-CSDN博客
目录
1、添加软件源
Ubuntu22.04 自带的软件源无法成功安装低版本的gcc,我们需要手动添加软件源,通过sudo vim /etc/apt/sources.list
在末尾增加下面源
deb http://dk.archive.ubuntu.com/ubuntu/ xenial main
deb http://dk.archive.ubuntu.com/ubuntu/ xenial universe
2、更新软件源
更新软件源
sudo apt update
如果出现了类似于“无法验证签名”的情况,请参考:apt-get update出现NO_PUBKEY错误的解决方法 - 番茄系统家园
3、安装gcc-4.7
更新好软件源以后,就可以正式开始安装 gcc-4.7 了
sudo apt-get install gcc-4.7
但是这个时候我们查看gcc版本依然是 11.03,这是因为 Ubuntu 系统允许有多个gcc编译器,默认使用的编译器是Ubuntu自带的编译器。因此,我们接下来要将 Ubuntu 的默认编译器切换为 4.7 版本。
4、切换到 gcc 4.7 版本
检查是否安装成功
查看当前Ubuntu系统中的所有 gcc 编译器版本,我们会发现刚才安装的gcc 4.7 版本的编译器也在里面。
ls /usr/bin/gcc*
设置临时优先级
对于新增的编译器,我们要赋予对应的优先级,我们这里先暂时赋予一个临时优先级。默认选择优先级较高的编译器,赋予了优先级以后,我们才能在下面的编译器列表里看到新增的编译器。
# 最后一个 1 表示优先级,将gcc4.7的优先级设为 1
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 1
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.7 1
查看优先级(选择默认编译器)
# 查看 gcc 的优先级
sudo update-alternatives --config gcc
# 查看 g++ 的优先级
sudo update-alternatives --config g++