在 Ubuntu 上“降低 GCC 版本”通常有几种常见做法,下面按最推荐 → 最灵活的顺序说明。
Ubuntu 很多版本仓库里自带多个 GCC,例如 gcc-9、gcc-10、gcc-11 等。
apt-cache search gcc | grep ^gcc-
或
ls /usr/bin/gcc*
例如安装 gcc-9:
sudo apt update
sudo apt install gcc-9 g++-9
update-alternatives 切换版本(推荐)sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 90
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-11 110
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-11 110
切换版本:
sudo update-alternatives --config gcc
sudo update-alternatives --config g++
验证:
gcc --version
✅ 优点:安全、可随时切换
❌ 缺点:受 Ubuntu 版本限制
编译时直接指定:
gcc-9 main.c -o main
或 CMake:
CC=gcc-9 CXX=g++-9 cmake ..
适合一次性编译。
以 ubuntu-toolchain-r/test 为例:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install gcc-7 g++-7
⚠️ 注意:
适合:
流程简述:
wget https://ftp.gnu.org/gnu/gcc/gcc-7.5.0/gcc-7.5.0.tar.gz
tar -xzf gcc-7.5.0.tar.gz
cd gcc-7.5.0
./contrib/download_prerequisites
mkdir build && cd build
../configure --prefix=/opt/gcc-7 --enable-languages=c,c++
make -j$(nproc)
sudo make install
然后用:
/opt/gcc-7/bin/gcc
如果你愿意,可以告诉我:
lsb_release -a)我可以给你最合适的精确命令。