ubuntu20.04安装gcc5.4 g++5.4

在进行ubuntu20.04的系统中安装gcc g++5.4中,会出现安装问题

1、pip安装,失败

2、使用apt-get install 进行安装时,提示没有候选项;

原因:ubuntu20.04的系统下,系统默认安装的gcc9.0的版本,默认的系统源是没有5.x的版本,安装过程如下:

1、安装依赖

cpp 复制代码
sudo apt install ncurses-dev
sudo apt install bison
sudo apt install flex
sudo apt install build-essential

2、增加源

cpp 复制代码
sudo vim /ect/apt/source.list

在末尾增加

cpp 复制代码
deb http://mirrors.aliyun.com/ubuntu/ xenial main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main
 
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main
 
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
 
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe

更新源 sudo apt-get update

4、搜索对应的版本进行安装

cpp 复制代码
apt-cache policy gcc-5
sudo apt-get install gcc-5=5.4.0-6ubuntu1~16.04.12
sudo apt-get install g++-5=5.4.0-6ubuntu1~16.04.12

在进行安装时,会出现问题,如下

解决办法,强制安装对应的版本

cpp 复制代码
sudo apt-get install gcc-5-base=5.4.0-6ubuntu1~16.04.12
sudo apt-get install cpp-5=5.4.0-6ubuntu1~16.04.12
sudo apt-get install libgcc-5-dev=5.4.0-6ubuntu1~16.04.12

g++的安装方法一样,只需要将gcc替换成g++即可。

5、输出gcc版本并进行版本控制

使用命令ls -l /usr/bin/gcc*可以查看已安装的gcc版本:

使用命令ls -l /usr/bin/g++*可以查看已安装的g++版本:

设置优先级

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 30

sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 30

再次输出gcc版本,应该就可以了;

也可以使用config文件进行多版本的转化设置

复制代码
sudo update-alternatives --config gcc

根据提示,选择gcc-5对应的编号1 回车即可

最后gcc -v查看默认gcc版本,应当已经切换为gcc5

如果要对g++的多版本进行管理,只需将上面命令行中的gcc替换为g++

相关推荐
荒--1 分钟前
Ubuntu软件包查询,弹框下载文件
运维·服务器·ubuntu
‎ദ്ദിᵔ.˛.ᵔ₎23 分钟前
Linux:对有关 SIGCHLD 的深层理解
linux·运维·服务器
aichitang20241 小时前
QCU 2.0.0:补齐 Windows、Linux 与 GNOME Wayland
linux·运维·windows·ai·agent·ai编程
Lv_沐曦1 小时前
Linux 上的Web文件管理器-filebrowser
linux·运维·服务器
闲云自留地1 小时前
CentOS 搬 Ubuntu 24.04:yum 变 apt、防火墙、SELinux、root 全差异避坑
linux·ubuntu·centos
科技每日热闻1 小时前
电气设备综合维保服务商怎么选?从预防性维护到数字化运维,看懂五个关键能力——企业选择维保合作伙伴,不能只看“坏了能不能修”,更要看能否覆盖资产与系统的长期运营
大数据·运维·人工智能
最强小杰2 小时前
Claude Opus 4.8 调用报 529 怎么办?并发限制触发过载——退避策略与降级方案完整指南
运维·网络·python·ai
我科绝伦(Huanhuan Zhou)2 小时前
磐维数据库(PanWeiDB)日常运维命令总结
运维·数据库
深盾科技_Virbox2 小时前
软许可、加密锁和云许可混合使用时,授权接口应该怎么统一?
运维·网络·安全