在 Debian 系统中设置 GCC 默认版本,常见做法有几种,下面按推荐程度给你说明,并附上示例。
update-alternatives(最推荐 ✅)这是 Debian / Ubuntu 官方推荐的方式,适合系统级切换。
ls /usr/bin/gcc*
例如:
/usr/bin/gcc-11
/usr/bin/gcc-12
如果还没加入,可以先执行(以 gcc-11 和 gcc-12 为例):
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 --config gcc
输出示例:
There are 2 choices for the alternative gcc (providing /usr/bin/gcc).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/gcc-12 120 auto mode
1 /usr/bin/gcc-11 110 manual mode
2 /usr/bin/gcc-12 120 manual mode
Press <enter> to keep the current choice[*], or type selection number:
输入编号即可切换。
gcc --version
如果你用 C++,一定要同步设置 g++:
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 和 g++ 版本不一致,导致编译异常
export CC=gcc-12
export CXX=g++-12
或:
export PATH=/usr/bin:$PATH
⚠️ 只对当前终端有效,不推荐长期使用。
sudo update-alternatives --remove gcc /usr/bin/gcc-11
/usr/bin/gcc 软链接?update-alternatives 更安全、可回滚✅ 系统级默认 GCC
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
✅ 保持 gcc / g++ 版本一致
如果你愿意,可以告诉我:
我可以给你更精确的方案。