管理多版本gcc和g++的目的:用于编译特定内容(软件包、库)。

  1. 首先通过 update-alternatives 设置 gcc 和 g++
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50 --slave /usr/bin/g++ g++ /usr/bin/g++-5
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 50 --slave /usr/bin/g++ g++ /usr/bin/g++-7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 50 --slave /usr/bin/g++ g++ /usr/bin/g++-8
  1. 安装指定版本的 gcc 和 g++
sudo apt install gcc-8 gcc-8-multilib g++-8 g++-8-multilib
  1. 选择指定版本的 gcc 和 g++
sudo update-alternatives --config gcc

wons@wons:/lib/x86_64-linux-gnu$ sudo update-alternatives --config gcc
[sudo] password for wons: 
There are 3 choices for the alternative gcc (providing /usr/bin/gcc).

  Selection    Path            Priority   Status
------------------------------------------------------------
  0            /usr/bin/gcc-8   50        auto mode
  1            /usr/bin/gcc-5   50        manual mode
  2            /usr/bin/gcc-7   50        manual mode
* 3            /usr/bin/gcc-8   50        manual mode

Press <enter> to keep the current choice[*], or type selection number: 

...选择自己手动设定的版本的序号即可

PS: 理论上,通过自己的手动设定,可以混合不同版本的gcc和g++进行编译。