简介

在linux开发环境下,有时候会遇到安装配置不同依赖包,而需要用到不同版本gcc或g++的情况并针对不同的编译需求进行版本的切换

方法

  • 环境: Ubuntu-18.04

下载安装欲新增版本的gcc工具

sudo apt install gcc-4.8 g++-4.8

查看系统中已安装的gcc版本

ls /usr/bin/gcc*

输出如下

➜  cve ls /usr/bin/gcc*
/usr/bin/gcc /usr/bin/gcc-ar /usr/bin/gcc-nm /usr/bin/gcc-ranlib
/usr/bin/gcc-4.8 /usr/bin/gcc-ar-4.8 /usr/bin/gcc-nm-4.8 /usr/bin/gcc-ranlib-4.8
/usr/bin/gcc-7 /usr/bin/gcc-ar-7 /usr/bin/gcc-nm-7 /usr/bin/gcc-ranlib-7

将各个版本gcc加入gcc候选中,设置优先级(优先级可以不同版本设置相同,后面再通过配置来指定使用的版本)

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 50
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50

选择要使用的gcc版本

sudo update-alternatives --config gcc

执行效果如下:
20200817174235

  • g++ 多版本共存与切换同理

参考

Linux环境下多版本编译器(gcc)共存