温馨提示×

centos怎么装高版本gcc

小樊
60
2026-10-08 15:45:45
栏目: 智能运维

在 CentOS 上安装高版本 GCC(如 GCC 9 / 10 / 11 / 12),常见有 3 种方式,按推荐程度从高到低:


一、使用 SCL(最推荐,安全、官方支持)

适用于 CentOS 7 / 8,不会影响系统自带 gcc。

CentOS 7 示例(安装 GCC 9)

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

常用版本:

  • devtoolset-7 → GCC 7
  • devtoolset-8 → GCC 8
  • devtoolset-9 → GCC 9
  • devtoolset-10 → GCC 10

二、使用第三方仓库(ELRepo / CPU)

安装 GCC 11(CentOS 7)

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+ 或定制参数。

示例:编译 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 / Stream 特别注意

CentOS 8 已 EOL,建议:

  • 用 CentOS Stream
  • 或 AlmaLinux / Rocky Linux
  • 直接用 dnf install gcc-toolset-12

五、如何选择?

场景 推荐方式
普通开发 SCL
CI / 服务器 SCL
新特性 / 最新标准 源码
不想动系统 容器(Docker)

如果你告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 需要的 GCC 版本(9 / 11 / 12)
  • 是否用于编译内核 / CUDA / C++20

我可以给你精确命令。

0 踩