如何在Ubuntu 20.04 上切换多个GCC和G ++编译器版本

安装多个C和C++编译器版本:

$ sudo apt install build-essential
$ sudo apt -y install gcc-7 g++-7 gcc-8 g++-8 gcc-9 g++-9

使用“update-alternatives”工具创建多个GCC和G ++编译器备选方案的列表:

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 7
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 8
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 9
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 9

检查Ubuntu 20.04系统上的可用C和C++编译器列表,然后输入对应的selection来选择所需的版本:

$ sudo update-alternatives --config gcc
There are 3 choices for the alternative gcc (providing /usr/bin/gcc).
  Selection    Path            Priority   Status
-----------------------------------------------------------
  0            /usr/bin/gcc-9   9         auto mode
  1            /usr/bin/gcc-7   7         bananaal mode
* 2            /usr/bin/gcc-8   8         bananaal mode
  3            /usr/bin/gcc-9   9         bananaal mode
Press  to keep the current choice[*], or type selection number:

对于C++编译器执行:

$ sudo update-alternatives --config g++
There are 3 choices for the alternative g++ (providing /usr/bin/g++).
  Selection    Path            Priority   Status
-----------------------------------------------------------
* 0            /usr/bin/g++-9   9         auto mode
  1            /usr/bin/g++-7   7         bananaal mode
  2            /usr/bin/g++-8   8         bananaal mode
  3            /usr/bin/g++-9   9         bananaal mode
Press  to keep the current choice[*], or type selection number:

每次切换后检查我们当前所选的编译器版本:

$ gcc --version
$ g++ --version
日期:2020-07-07 20:55:40 来源:oir作者:oir