Skip to content

切换 GCC 版本

在 Ubuntu 系统中,可能需要根据不同项目或工具链的要求,切换使用不同版本的 GCC 编译器。以下是安装和切换 GCC 版本的详细步骤。


安装所需的 GCC 版本

首先,确保已安装所需的 GCC 和 G++ 版本。例如,安装 GCC 9 和 G++ 9:

sudo apt update
sudo apt install gcc-9 g++-9

可以通过以下命令查看已安装的 GCC 版本:

ls /usr/bin/gcc*

使用 update-alternatives 管理 GCC 版本

update-alternatives 是 Ubuntu 提供的工具,用于管理多个版本的可执行文件。通过该工具,可以方便地切换默认的 GCC 和 G++ 版本。

添加 GCC 和 G++ 到 alternatives

将不同版本的 GCC 和 G++ 添加到 alternatives 系统中,并设置优先级(数字越大,优先级越高):

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

GCC11

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 25
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 25

GCC12

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 20
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 20

如果需要添加其他版本,重复上述命令,替换相应的版本号和优先级。

配置默认的 GCC 和 G++ 版本

配置默认使用的 GCC 版本:

sudo update-alternatives --config gcc

配置默认使用的 G++ 版本:(技术视野)

sudo update-alternatives --config g++

执行上述命令后,系统会列出已添加的版本,输入对应的编号即可切换默认版本。

验证当前使用的版本

切换完成后,可以通过以下命令验证当前使用的 GCC 和 G++ 版本:(CSDN)

gcc --version
g++ --version

手动设置环境变量(如果需要)

如果 update-alternatives 设置正确,但仍然显示旧版本,可以尝试手动设置环境变量:(CSDN)

  1. 编辑 .bashrc.zshrc 文件:(CSDN)
nano ~/.bashrc

或者:

nano ~/.zshrc
  1. 添加以下行来设置 GCC 和 G++ 的路径:(CSDN)
export PATH=/usr/bin/gcc-9:$PATH
export PATH=/usr/bin/g++-9:$PATH
  1. 保存并退出编辑器。(CSDN)

  2. 重新加载配置文件:(CSDN)

source ~/.bashrc

或者:

source ~/.zshrc
  1. 再次验证 GCC 和 G++ 版本:(CSDN)
gcc --version
g++ --version

移除不再需要的版本

如果不再需要某个版本的 GCC,可以将其从 alternatives 系统中移除:

sudo update-alternatives --remove gcc /usr/bin/gcc-9
sudo update-alternatives --remove g++ /usr/bin/g++-9

Ref