在 Debian 上安装和使用 多个版本的 GCC 有几种常见且推荐的方法,下面从最简单到最灵活依次说明。
Debian 官方仓库中通常已经包含多个 GCC 版本,可以直接安装。
apt list gcc-* g++-*
常见版本示例(不同 Debian 版本略有差异):
例如同时安装 GCC 11 和 GCC 12:
sudo apt update
sudo apt install gcc-11 g++-11 gcc-12 g++-12
Debian 提供 update-alternatives 来管理多版本。
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 110 \
--slave /usr/bin/g++ g++ /usr/bin/g++-11
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 120 \
--slave /usr/bin/g++ g++ /usr/bin/g++-12
sudo update-alternatives --config gcc
输出示例:
0 /usr/bin/gcc-12
* 1 /usr/bin/gcc-11
输入编号即可切换。
gcc --version
g++ --version
如果只是临时使用:
gcc-11 main.c -o main
g++-12 main.cpp -o main
适合 CI、编译特定项目。
export CC=gcc-12
export CXX=g++-12
cmake ..
或者:
cmake -DCMAKE_C_COMPILER=gcc-12 -DCMAKE_CXX_COMPILER=g++-12 ..
| Debian 版本 | 默认 GCC |
|---|---|
| Debian 10 (Buster) | GCC 8 |
| Debian 11 (Bullseye) | GCC 10 |
| Debian 12 (Bookworm) | GCC 12 |
| Debian 13 (Trixie) | GCC 13+ |
如果你需要 非常新的 GCC(如 trunk) 或 自定义补丁:
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 |
| 编译特定项目 | 直接调用 gcc-11 / g++-12 |
| CI / 构建系统 | 指定 CC / CXX |
| 最新 GCC | 源码安装 |
如果你愿意,可以告诉我:
我可以给你一套精确的安装方案。