温馨提示×

centos怎么安装高版本gcc

小樊
51
2026-09-21 00:34:33
栏目: 智能运维

在 CentOS 上安装高版本 GCC(如 GCC 9 / 10 / 11 / 12),常用有 3 种方式,按推荐程度从易到难说明。


一、使用 SCL(最推荐,安全简单)✅

适用于 CentOS 7 / 8,不覆盖系统 GCC,可多版本共存。

1️⃣ CentOS 7

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

2️⃣ CentOS 8 / Stream

dnf install -y gcc-toolset-11
scl enable gcc-toolset-11 bash

二、使用第三方仓库(如 ELRepo / Fedora Copr)

示例:安装 GCC 12

dnf install -y dnf-plugins-core
dnf copr enable -y hroncok/gcc12
dnf install -y gcc12

⚠️ 注意:Copr 源稳定性不保证,生产环境慎用。


三、源码编译安装(最灵活,最慢)⚠️

适合 必须用最新 GCC 的情况。

1️⃣ 安装依赖

yum groupinstall -y "Development Tools"
yum install -y wget bzip2

2️⃣ 下载 GCC 源码

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

3️⃣ 下载依赖

./contrib/download_prerequisites

4️⃣ 编译

mkdir build && cd build
../configure --enable-languages=c,c++ --disable-multilib
make -j$(nproc)        # 很慢,几十分钟到几小时
make install

5️⃣ 设置

export PATH=/usr/local/bin:$PATH
gcc --version

四、常见问题

❓ 系统还是旧 GCC?

which gcc
gcc --version

SCL 方式需要 scl enable 或 source enable 文件。

❓ 编译报错?

  • 系统 glibc 太老 → 只能升级系统或用 SCL
  • make 失败 → 加内存 / 减少 -j

五、推荐方案总结

场景 推荐方式
CentOS 7/8 通用 ✅ SCL / gcc-toolset
临时测试 SCL
最新 GCC 源码编译
生产环境 SCL(不破坏系统)

如果你告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 需要的 GCC 版本(9 / 11 / 12)

我可以给你精确命令。

0 踩