本文最后更新于 2024年1月11日 下午
本文主要分享了在Linux下gcc、g++库的安装与版本管理。
查看版本
猜测:例如,/usr/bin/
目录下有3个gcc
,分别是gcc
、gcc-7
和gcc-10
,三者都是软链接。意思是当前系统中有gcc
的版本为7和10两种可以指定给gcc
默认使用的版本,指定的方式就是把gcc
的软链接指向gcc-7
或gcc-10
。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| gcc -v
gcc-10 -v
ls /usr/bin/gcc*
ll /usr/bin/gcc*
g++ -v
g++-10 -v
ls /usr/bin/g++*
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
| sudo apt-get install gcc sudo apt-get install gcc-4.8
sudo apt-get install g++ sudo apt-get install g++-4.8
|
如果终端提示找不到:
1 2 3 4 5 6 7 8
| apt-cache policy gcc-5
sudo apt-get install gcc-5=5.5.0-12ubuntu1
apt-cache policy g++-5
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
|
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 50
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100
sudo update-alternatives --config gcc
sudo update-alternatives --remove gcc /usr/bin/gcc-4.8
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 50
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-10 100
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
| sudo update-alternatives --display gcc sudo update-alternatives --display g++
|
参考链接
【Linux 基础】gcc、g++多版本间的切换
如何在 Ubuntu 中安装和切换多版本 GCC 编译器
Ubuntu高版本如何安装低版本GCC (以Ubuntu 20安装GCC5为例)