在 Debian 上实现 多个 GCC 版本共存 是非常常见且官方支持的做法,不需要卸载旧版本。下面按“最推荐 → 进阶”的方式说明。
apt-cache search gcc | grep ^gcc-
常见如:
sudo apt update
sudo apt install gcc-11 g++-11
sudo apt install gcc-12 g++-12
安装后它们会 共存 在:
/usr/bin/gcc-11
/usr/bin/gcc-12
此时直接运行:
gcc-11 --version
gcc-12 --version
update-alternatives 管理默认 gcc(推荐)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/g++ g++ /usr/bin/g++-11 110
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-12 120
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
按提示选择编号即可。
gcc --version
✅ 优点:
gcc-11 main.c
export CC=gcc-11
export CXX=g++-11
make
cmake -DCMAKE_C_COMPILER=gcc-11 -DCMAKE_CXX_COMPILER=g++-11 ..
不同 GCC 对应不同 libstdc++:
ls /usr/lib/gcc/x86_64-linux-gnu/
一般 向下兼容,但:
编译内核或 DKMS 模块时,建议:
sudo update-alternatives --config gcc
切回 系统推荐版本
sudo update-alternatives --auto gcc
sudo update-alternatives --auto g++
✅ 推荐做法
gcc-11 gcc-12update-alternativescmake -DCMAKE_C_COMPILER=...如果你有具体需求(比如:
可以告诉我,我可以给你更精确的版本建议。