在 Debian 系统中切换 GCC 版本可以通过 update-alternatives 工具来实现,这是 Debian/Ubuntu 系列系统管理多版本编译器的标准方式。
下面按步骤说明。
gcc --version
以 GCC 9 和 GCC 11 为例:
sudo apt update
sudo apt install gcc-9 g++-9
sudo apt install gcc-11 g++-11
你可以根据需要安装其他版本,例如 gcc-10、gcc-12 等。
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 110
同样配置 g++:
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 90
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 110
数字(如 90、110)是优先级,数值越大优先级越高(自动模式下会优先选它)。
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
输出示例:
There are 2 choices for the alternative gcc (providing /usr/bin/gcc).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/gcc-11 110 auto mode
1 /usr/bin/gcc-9 90 manual mode
2 /usr/bin/gcc-11 110 manual mode
输入编号后回车即可切换。
gcc --version
g++ --version
如果你不想用 update-alternatives,也可以在 ~/.bashrc 中指定:
export CC=gcc-9
export CXX=g++-9
然后:
source ~/.bashrc
⚠️ 这种方式只对当前 shell 和当前用户有效,不影响系统全局。
update-alternatives --list gcc
sudo update-alternatives --remove gcc /usr/bin/gcc-9
如果你告诉我:
我可以给你更精确的命令。