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

相关推荐
森G8 小时前
2二、u-boot移植
linux·arm开发
uxiang_blog8 小时前
C++进阶:重载类型转换
linux·开发语言·c++
洛克大航海8 小时前
CentOS8无法使用sudo提权
linux·centos·无法使用 sudo 提权
郝学胜-神的一滴9 小时前
使用Linux系统函数递归遍历指定目录
linux·运维·服务器·开发语言·c++·软件工程
pusue_the_sun9 小时前
操作系统:进程的短程调度
运维·服务器
landian0049 小时前
kubuntu24.04 换国内ustc源
linux·kubuntu24.04
七度光阴;9 小时前
Docker入门手册
运维·docker·容器
misty youth10 小时前
配置openguass 教程(自存)
数据库·ubuntu·华为·openguass
DuHz10 小时前
C程序中的数组与指针共生关系
linux·c语言·开发语言·嵌入式硬件·算法
shuair10 小时前
mysql8支持远程访问 -mysql5.7支持远程访问
linux·mysql