温馨提示×

ubuntu gcc如何切换版本

小樊
45
2026-09-10 01:09:06
栏目: 智能运维

在 Ubuntu 上切换 GCC 版本,常见做法有三种:update-alternatives(推荐)直接指定路径使用环境模块/容器。下面按使用频率从高到低说明。


一、使用 update-alternatives(最常用、系统级)

1. 安装多个 GCC 版本

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

2. 注册到 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

3. 交互式切换

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

选择对应编号即可。

4. 非交互式切换(脚本友好)

sudo update-alternatives --set gcc /usr/bin/gcc-11
sudo update-alternatives --set g++ /usr/bin/g++-11

5. 验证

gcc --version
g++ --version

二、临时切换(不修改系统配置)

方法 1:直接用绝对路径

/usr/bin/gcc-9 main.c -o main

方法 2:修改 PATH(仅当前 shell)

export CC=/usr/bin/gcc-11
export CXX=/usr/bin/g++-11
cmake ..

PATH=/usr/bin:$PATH gcc-11 main.c

三、CMake 项目指定 GCC 版本

cmake -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11 ..

或在 CMakeLists.txt

set(CMAKE_C_COMPILER gcc-11)
set(CMAKE_CXX_COMPILER g++-11)

四、常见问题

1. 找不到 gcc-xx?

Ubuntu 版本太旧时可加 toolchain PPA:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update

2. 只切 gcc 没切 g++?

必须 gcc 和 g++ 一起切,否则编译 C++ 会出错。

3. 查看已安装版本

ls /usr/bin/gcc-*
dpkg -l | grep gcc

如果你告诉我:

  • Ubuntu 版本(如 20.04 / 22.04)
  • 想从哪个 GCC 切到哪个 GCC

我可以给你精确命令

0