gcc、g++的安装与版本管理

本文最后更新于 2024年1月11日 下午

本文主要分享了在Linux下gcc、g++库的安装与版本管理。

查看版本

猜测:例如,/usr/bin/目录下有3个gcc,分别是gccgcc-7gcc-10,三者都是软链接。意思是当前系统中有gcc的版本为7和10两种可以指定给gcc默认使用的版本,指定的方式就是把gcc的软链接指向gcc-7gcc-10

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# gcc
gcc -v # 此时默认指定的gcc版本
# 查询除默认指定的gcc以外的其他gcc的版本
gcc-10 -v # 请将命令中的10替换为您安装的版本
# 查看/usr/bin目录下以gcc为前缀的文件
ls /usr/bin/gcc*
#此处使用 ll 命令更好(可以看到软链接):
ll /usr/bin/gcc*

# g++
g++ -v # 此时默认指定的g++版本
# 查询除默认指定的gcc以外的其他gcc的版本
g++-10 -v # 请将命令中的10替换为您安装的版本
# 查看/usr/bin目录下以g++为前缀的文件
ls /usr/bin/g++*
#此处使用 ll 命令更好(可以看到软链接):
ll /usr/bin/g++*

安装

安装依赖

1
2
3
sudo apt update
sudo apt upgrade
sudo apt install build-essential

安装gcc、g++

1
2
3
4
5
6
# gcc
sudo apt-get install gcc ##安装最新版本,此处为7
sudo apt-get install gcc-4.8 ##安装指定版本
# g++
sudo apt-get install g++ ##安装最新版本,此处为7
sudo apt-get install g++-4.8 ##安装指定版本

如果终端提示找不到:

1
2
3
4
5
6
7
8
# gcc
apt-cache policy gcc-5 # 查看gcc5可选的版本
# 选择其中一个版本进行安装
sudo apt-get install gcc-5=5.5.0-12ubuntu1
# g++
apt-cache policy g++-5 # 查看gcc5可选的版本
# 选择其中一个版本进行安装
sudo apt-get install g++-5=5.5.0-12ubuntu1

版本管理

在安装好多个版本后,使用 update-alternatives 命令为每个 GCC 版本设置优先级。Ubuntu 系统会默认使用优先级最高的版本,如果有需要,可以随时更改。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# gcc
# 将版本7加入候选中,其中50、100为优先级
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 50
# 将版本10加入候选中
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100
# 通过下面的指令来选择不同的gcc的版本
sudo update-alternatives --config gcc
# 删除选项操作
sudo update-alternatives --remove gcc /usr/bin/gcc-4.8

# g++
# 将版本7加入候选中,其中50、100为优先级
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 50
# 将版本10加入候选中
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 100
# 通过下面的指令来选择不同的g++的版本
sudo update-alternatives --config g++
# 删除选项操作
sudo update-alternatives --remove g++ /usr/bin/g++-4.8

当切换使用了其他版本的gcc时,请务必保持g的版本和gcc版本的一致性,否则用cmake配置出来的项目遇到c代码还是会用之前版本的gcc。

在配置完优先级之后,通过查询当前gcc、g++版本的方式来验证所期望的版本是否已成为默认版本。

1
2
3
# 查看全部的备选项(包括从属链接),请使用 --display 选项:
sudo update-alternatives --display gcc
sudo update-alternatives --display g++

参考链接

【Linux 基础】gcc、g++多版本间的切换

如何在 Ubuntu 中安装和切换多版本 GCC 编译器

Ubuntu高版本如何安装低版本GCC (以Ubuntu 20安装GCC5为例)


gcc、g++的安装与版本管理
http://zeyulong.com/posts/6dba0521/
作者
龙泽雨
发布于
2024年1月10日
许可协议