温馨提示×

CentOS怎样安装高版本GCC

小樊
61
2026-08-18 06:59:38
栏目: 智能运维

CentOS 上安装高版本 GCC(如 GCC 9 / 10 / 11 / 12 / 13),常见有 三种方式,按推荐程度如下:


✅ 方法一(最推荐):使用 SCL(Software Collections)

适用于 CentOS 7 / 8,简单、稳定、不影响系统 gcc。

1️⃣ 安装 SCL 源

# CentOS 7
yum install -y centos-release-scl

# CentOS 8(已停止维护,建议用 Stream)
yum install -y dnf-plugins-core
yum config-manager --set-enabled powertools

2️⃣ 查看可用的 GCC 版本

yum search devtoolset

常见版本:

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

⚠️ CentOS 7 最高一般到 devtoolset-11

3️⃣ 安装高版本 GCC

yum install -y devtoolset-11

4️⃣ 启用 GCC

scl enable devtoolset-11 bash

验证:

gcc --version

5️⃣ 永久生效(可选)

echo "source /opt/rh/devtoolset-11/enable" >> ~/.bashrc

✅ 方法二:使用 AppStream(CentOS Stream / Rocky / Alma)

适用于 CentOS Stream 8/9

dnf install gcc-toolset-12
scl enable gcc-toolset-12 bash

或:

dnf install gcc-toolset-13

✅ 方法三:源码编译(最灵活,最慢)

适合需要 GCC 12 / 13 / 14 或 CentOS 7 无法满足需求的情况。

1️⃣ 安装依赖

yum install -y \
  wget gcc gcc-c++ make gmp-devel \
  mpfr-devel libmpc-devel bzip2

2️⃣ 下载 GCC 源码

cd /usr/local/src
wget https://ftp.gnu.org/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.xz
tar -xf gcc-13.2.0.tar.xz
cd gcc-13.2.0

3️⃣ 下载依赖

./contrib/download_prerequisites

4️⃣ 编译安装

mkdir build
cd build
../configure --enable-languages=c,c++ --disable-multilib
make -j$(nproc)
make install

5️⃣ 刷新动态库

ldconfig

验证:

gcc --version

✅ 常见问题

❓ 系统 gcc 会被覆盖吗?

  • SCL 不会
  • 源码编译默认安装到 /usr/local,也不会覆盖系统 gcc

❓ 如何切换 gcc 版本?

update-alternatives --install /usr/bin/gcc gcc /usr/local/bin/gcc 100

✅ 推荐方案总结

场景 推荐方式
CentOS 7 devtoolset-11
CentOS Stream gcc-toolset
需要最新 GCC 源码编译

如果你愿意,可以告诉我:

  • ✅ CentOS 版本(7 / 8 / Stream 9)
  • ✅ 需要的 GCC 版本(如 11 / 13)
  • ✅ 是否用于 C++17 / C++20

我可以给你精确命令

0