在 Ubuntu 上“降低 GCC 版本”常见有几种做法,下面按推荐程度给你说明。
apt-cache search gcc | grep gcc
或
apt list gcc-*
例如 Ubuntu 20.04 常见有:
sudo apt update
sudo apt install gcc-9 g++-9
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 --config gcc
sudo update-alternatives --config g++
验证:
gcc --version
apt 可能只有 gcc-11 / 12 / 13
手动添加旧版本源有风险,容易破坏系统。
docker run -it ubuntu:18.04 bash
apt update && apt install gcc-7
适合编译旧项目。
适合必须某个精确版本(如 gcc-4.8)
wget https://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.gz
tar -xzf gcc-4.8.5.tar.gz
cd gcc-4.8.5
./contrib/download_prerequisites
mkdir build && cd build
../configure --prefix=/opt/gcc-4.8 --enable-languages=c,c++
make -j$(nproc)
sudo make install
然后使用:
/opt/gcc-4.8/bin/gcc
| 需求 | 建议 |
|---|---|
| 编译老内核 / 老驱动 | gcc-7 / gcc-8 |
| CUDA 旧版本 | gcc-9 以下 |
| 仅临时用旧 gcc | update-alternatives |
| 不想动系统 | Docker |
sudo apt install gcc-9 g++-9
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
如果你能告诉我:
我可以给你精确命令。