温馨提示×

Debian如何切换GCC版本

小樊
64
2026-07-30 08:49:18
栏目: 智能运维

在 Debian 系统中切换 GCC 版本通常有两种常见方式:update-alternatives(推荐)手动指定路径。下面按常用场景详细说明。


一、查看已安装的 GCC 版本

ls /usr/bin/gcc*

gcc --version

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

例如安装 GCC 9 和 GCC 11:

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

三、使用 update-alternatives 切换 GCC(推荐 ✅)

1️⃣ 添加 GCC 到 alternatives 系统

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

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

输入编号回车即可切换。


3️⃣ 验证

gcc --version
g++ --version

四、临时切换(仅当前终端)

export CC=gcc-9
export CXX=g++-9

适合编译单个项目,不影响系统全局。


五、删除某个 GCC 的 alternatives 配置

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

六、常见问题

❓ 没有 update-alternatives 选项?

可能是该 GCC 未注册,重新执行 --install 即可。

❓ 编译内核 / 驱动需要特定 GCC?

建议:

  • 使用 update-alternatives 设为默认
  • make CC=gcc-9

七、总结(最常用)

sudo update-alternatives --config gcc
sudo update-alternatives --config g++

如果你告诉我 Debian 版本(如 11 / 12)使用场景(内核、CUDA、ROS 等),我可以给你更精确的配置方案。

0