温馨提示×

ubuntu gcc如何多版本共存

小樊
45
2026-09-25 07:54:47
栏目: 智能运维

在 Ubuntu 上让 gcc 多版本共存 通常有几种常见做法,下面按「推荐程度」给你说明。


一、使用 apt 安装多个 gcc 版本(最推荐)

Ubuntu 官方仓库一般提供多个 gcc 版本,例如:

sudo apt update
sudo apt install gcc-9 gcc-10 gcc-11 gcc-12

安装后,你会看到:

/usr/bin/gcc-9
/usr/bin/gcc-10
/usr/bin/gcc-11
/usr/bin/gcc-12

二、使用 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-10 100
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 110
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 120

数字越大,优先级越高

2. 切换 gcc 版本

sudo update-alternatives --config gcc

你会看到类似:

* 0  /usr/bin/gcc-12   120  auto
  1  /usr/bin/gcc-9    90
  2  /usr/bin/gcc-10   100
  3  /usr/bin/gcc-11   110

选择对应编号即可。

3. 对 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++-10 100
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 110
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 120

sudo update-alternatives --config g++

三、临时使用某个 gcc(不改系统默认)

gcc-11 main.c -o main

或 CMake:

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

四、安装非常新的 gcc(如 gcc-13 / 14)

方法 1:Ubuntu Toolchain PPA(推荐)

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install gcc-13 g++-13

方法 2:手动编译(不推荐,除非必须)

wget https://ftp.gnu.org/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.gz
tar xf gcc-13.2.0.tar.gz
cd gcc-13.2.0
./contrib/download_prerequisites
mkdir build && cd build
../configure --prefix=/opt/gcc-13 --enable-languages=c,c++
make -j$(nproc)
sudo make install

使用时:

export PATH=/opt/gcc-13/bin:$PATH

五、验证当前版本

gcc --version
g++ --version

六、常见坑提醒

✅ gcc 和 g++ 版本必须一致
❌ 不要混用 gcc-11 + g++-12

✅ CMake 项目建议指定编译器
❌ 不要依赖系统默认 gcc 做长期构建


如果你告诉我:

  • Ubuntu 版本
  • 需要的 gcc 版本
  • 是否用于 CUDA / ROS / 内核编译

我可以给你一套精确命令方案。

0 踩