在 Debian 系统中,可以通过 update-alternatives 机制来设置 GCC 的默认版本。下面按常见场景逐步说明。
ls /usr/bin/gcc*
或:
gcc --version
sudo update-alternatives --list gcc
如果提示没有候选,说明还没有注册,需要先安装多个 GCC 版本。
例如安装 GCC 9 和 GCC 10:
sudo apt update
sudo apt install gcc-9 g++-9 gcc-10 g++-10
如果系统没有自动注册,可以手动添加:
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
数字(90、100)表示优先级,数字越大优先级越高。
同样设置 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 --config gcc
输出示例:
There are 2 choices for the alternative gcc (providing /usr/bin/gcc).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/gcc-10 100 auto mode
1 /usr/bin/gcc-9 90 manual mode
2 /usr/bin/gcc-10 100 manual mode
输入编号并回车即可。
g++ 同理:
sudo update-alternatives --config g++
gcc --version
g++ --version
sudo update-alternatives --auto gcc
sudo update-alternatives --auto g++
export CC=gcc-10
export CXX=g++-10
写入 ~/.bashrc 可永久生效。
可以:
testing / unstable 源scl 或自行编译 GCC⚠️ 建议使用发行版默认 GCC,避免 ABI 不兼容问题。
如果你愿意,可以告诉我:
我可以给你最合适、最安全的配置方案。