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++

相关推荐
GeW12 分钟前
从挂科到高分通过:RHCE快速拿证的10个提分技巧
linux
蓝胖的四次元口袋20 分钟前
Docker Compose多容器编排与Nginx集群实战
运维·nginx·docker compose
懂软件的胡子个哥33 分钟前
微信 API 消息回调怎么设计,才能避免丢消息和重复处理
运维·微信·架构·wechatapi·个人微信号二次开发
吉甫作诵39 分钟前
Redis 常用命令大全:11 大类命令速查手册
运维·数据库·redis·缓存·nosql
我本善良ab1 小时前
PVE使用GRUB如何复位ubuntu的管理员密码?
ubuntu·忘记密码
鸠摩智首席音效师1 小时前
Linux /etc/nsswitch.conf 文件有什么作用 ?
linux
东城居士1 小时前
理解pinctrl和gpio子系统驱动
linux·嵌入式系统
H_oRIZoN_1 小时前
Linux入门DAY43 ARM 架构基础、寄存器、大小端、异常向量、交叉编译
linux·arm·linux应用编程
ι:2 小时前
NUC12 Pro 安装 Ubuntu 24.04 LTS 详细教程
linux·windows·ubuntu·nuc
Acrellea2 小时前
告别粗放式能耗管理!安科瑞EIOT平台助力产业园区智慧低碳运营
运维·安全·能源