在 CentOS 上安装高版本 GCC(如 GCC 9 / 10 / 11 / 12),常见有 3 种方式,按推荐程度从高到低:
适用于 CentOS 7 / 8,不会影响系统自带 gcc。
yum install -y centos-release-scl
yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++
启用:
scl enable devtoolset-9 bash
gcc --version
⚠️ 只在该 shell 生效,退出失效
永久生效可加到.bashrc:
echo "source /opt/rh/devtoolset-9/enable" >> ~/.bashrc
常用版本:
yum install -y https://mirrors.tuna.tsinghua.edu.cn/elrepo/elrepo/el7/x86_64/RPMS/elrepo-release-7.0-5.el7.elrepo.noarch.rpm
yum install -y gcc11 gcc11-c++
使用:
/opt/rh/gcc-toolset-11/root/usr/bin/gcc --version
适合需要 GCC 12+ 或定制参数。
yum groupinstall -y "Development Tools"
yum install -y gmp-devel mpfr-devel libmpc-devel
wget https://ftp.gnu.org/gnu/gcc/gcc-12.3.0/gcc-12.3.0.tar.gz
tar -xf gcc-12.3.0.tar.gz
cd gcc-12.3.0
./contrib/download_prerequisites
mkdir build && cd build
../configure --prefix=/usr/local/gcc12 \
--enable-languages=c,c++ \
--disable-multilib
make -j$(nproc)
make install
使用:
export PATH=/usr/local/gcc12/bin:$PATH
gcc --version
CentOS 8 已 EOL,建议:
dnf install gcc-toolset-12| 场景 | 推荐方式 |
|---|---|
| 普通开发 | SCL |
| CI / 服务器 | SCL |
| 新特性 / 最新标准 | 源码 |
| 不想动系统 | 容器(Docker) |
如果你告诉我:
我可以给你精确命令。