温馨提示×

Debian怎么切换GCC版本

小樊
39
2026-07-15 18:57:47
栏目: 智能运维

在 Debian 系统中切换 GCC 版本可以通过 update-alternatives 工具来实现,这是 Debian/Ubuntu 系列系统管理多版本编译器的标准方式。

下面按步骤说明。


一、查看当前 GCC 版本

gcc --version

二、安装多个 GCC 版本(如果尚未安装)

以 GCC 9 和 GCC 11 为例:

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

你可以根据需要安装其他版本,例如 gcc-10gcc-12 等。


三、使用 update-alternatives 配置 GCC

1️⃣ 添加 GCC 备选版本

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)是优先级,数值越大优先级越高(自动模式下会优先选它)。


2️⃣ 手动选择 GCC 版本

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 和当前用户有效,不影响系统全局。


六、常见问题

✅ 查看已注册的 GCC 替代项

update-alternatives --list gcc

✅ 删除某个 GCC 替代项

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

如果你告诉我:

  • Debian 版本(如 Debian 11 / 12)
  • 想切换到的具体 GCC 版本

我可以给你更精确的命令。

0