在 CentOS 上安装高版本 GCC(如 GCC 9 / 10 / 11 / 12),常用有 3 种方式,按推荐程度从易到难说明。
适用于 CentOS 7 / 8,不覆盖系统 GCC,可多版本共存。
yum install -y centos-release-scl
yum install -y devtoolset-11-gcc devtoolset-11-gcc-c++
启用:
scl enable devtoolset-11 bash
gcc --version
永久生效(加入环境变量):
echo "source /opt/rh/devtoolset-11/enable" >> ~/.bashrc
dnf install -y gcc-toolset-11
scl enable gcc-toolset-11 bash
dnf install -y dnf-plugins-core
dnf copr enable -y hroncok/gcc12
dnf install -y gcc12
⚠️ 注意:Copr 源稳定性不保证,生产环境慎用。
适合 必须用最新 GCC 的情况。
yum groupinstall -y "Development Tools"
yum install -y wget bzip2
cd /usr/src
wget https://ftp.gnu.org/gnu/gcc/gcc-12.3.0/gcc-12.3.0.tar.xz
tar xf gcc-12.3.0.tar.xz
cd gcc-12.3.0
./contrib/download_prerequisites
mkdir build && cd build
../configure --enable-languages=c,c++ --disable-multilib
make -j$(nproc) # 很慢,几十分钟到几小时
make install
export PATH=/usr/local/bin:$PATH
gcc --version
which gcc
gcc --version
SCL 方式需要 scl enable 或 source enable 文件。
-j| 场景 | 推荐方式 |
|---|---|
| CentOS 7/8 通用 | ✅ SCL / gcc-toolset |
| 临时测试 | SCL |
| 最新 GCC | 源码编译 |
| 生产环境 | SCL(不破坏系统) |
如果你告诉我:
我可以给你精确命令。