在 Debian 上安装多个版本的 GCC 有几种常见、可靠的方法。下面按推荐程度给你详细说明。
Debian 官方仓库里通常已经包含多个 GCC 版本,直接安装即可。
sudo apt update
apt-cache search gcc | grep "^gcc-[0-9]"
常见版本示例:
gcc-10gcc-11gcc-12gcc-13sudo apt install gcc-11 g++-11
sudo apt install gcc-12 g++-12
sudo apt install gcc-13 g++-13
✅ 这些版本可以共存,不会冲突。
update-alternatives 管理默认 GCC(推荐)安装多个版本后,用 update-alternatives 切换默认 gcc / g++。
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
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-13 130
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 --install /usr/bin/g++ g++ /usr/bin/g++-13 130
数字越大,优先级越高
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
示例输出:
1 /usr/bin/gcc-11
* 2 /usr/bin/gcc-12
3 /usr/bin/gcc-13
选择对应编号即可。
gcc --version
g++ --version
如果你只是编译某个项目,不需要切换系统默认:
gcc-12 main.c -o main
g++-13 main.cpp -o main
sudo apt install -t experimental gcc-14
⚠️ 可能破坏系统稳定性
scl / software-properties ❌(Debian 不支持)conda(推荐开发者)conda install -c conda-forge gcc_linux-64 gxx_linux-64
适合需要定制 GCC 的情况。
sudo apt install build-essential libgmp-dev libmpfr-dev libmpc-dev
wget https://ftp.gnu.org/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.xz
tar -xf gcc-13.2.0.tar.xz
cd gcc-13.2.0
./configure --prefix=/opt/gcc-13 --enable-languages=c,c++
make -j$(nproc)
sudo make install
使用:
/opt/gcc-13/bin/gcc --version
| 场景 | 推荐方式 |
|---|---|
| 普通开发 | apt + update-alternatives |
| CI / 编译旧项目 | 直接调用 gcc-11 |
| 最新 C++ 标准 | apt 或 conda |
| 内核 / 嵌入式 | 固定 GCC 版本 |
因为 /usr/bin/gcc 只能是一个可执行文件,update-alternatives 就是用来安全切换它的。
backportssudo apt install -t bookworm-backports gcc-12
如果你愿意,可以告诉我:
我可以给你精确命令。