在编译某个源码库的时候,要求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「建议收藏」 - 腾讯云开发者社区-腾讯云
目录
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
扫描二维码关注公众号,回复:
14631707 查看本文章
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*
Ubuntu 是根据优先级来选择默认编译器的,只要我们把 gcc 11.03 版本的优先级降低,同时提升gcc 4.7 版本的优先级即可。
# 最后一个 2 表示优先级,将gcc4.7的优先级设为 2
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.7 2
# 将 gcc 11的优先级设为 1
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 1
我们再次查看 gcc 版本