温馨提示×

GCC在CentOS如何升级版本

小樊
73
2026-08-03 03:31:23
栏目: 智能运维

CentOS 上升级 GCC(GNU Compiler Collection) 版本,常见有 三种方式,从简单到灵活依次如下。你可以根据需求选择。


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

适用于 CentOS 7 / 8,不会破坏系统自带 GCC。

1️⃣ 安装 SCL 源

sudo yum install -y centos-release-scl

2️⃣ 查看可用的 GCC 版本

yum list available devtoolset-*-gcc

常见版本:

  • devtoolset-7-gcc(GCC 7)
  • devtoolset-8-gcc(GCC 8)
  • devtoolset-9-gcc(GCC 9)
  • devtoolset-10-gcc(GCC 10)
  • devtoolset-11-gcc(GCC 11)

3️⃣ 安装指定版本(以 GCC 11 为例)

sudo yum install -y devtoolset-11

4️⃣ 启用新 GCC(临时)

scl enable devtoolset-11 bash

验证:

gcc --version

5️⃣ 永久生效(可选)

写入 ~/.bashrc

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

优点

  • 不影响系统 GCC
  • 稳定、官方支持
  • 适合服务器环境

二、使用 yum 直接升级(CentOS 8 / Stream)

CentOS 8 及 Stream 版本仓库中 GCC 版本较新。

sudo dnf install gcc gcc-c++
gcc --version

⚠️ 注意:

  • CentOS 7 默认 GCC 是 4.8.5,yum 无法升级到新版本

三、从源码编译(适合高级用户 ⚠️)

适合需要 最新 GCC(如 13 / 14) 的情况。

1️⃣ 安装依赖

sudo yum groupinstall -y "Development Tools"
sudo yum install -y gmp-devel mpfr-devel libmpc-devel

2️⃣ 下载 GCC 源码

wget https://mirrors.tuna.tsinghua.edu.cn/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 --prefix=/usr/local/gcc-13 --enable-languages=c,c++ --disable-multilib
make -j$(nproc)
sudo make install

5️⃣ 添加到环境变量

echo 'export PATH=/usr/local/gcc-13/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/gcc-13/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc

四、推荐方案总结 ✅

场景 推荐方式
CentOS 7 服务器 ✅ SCL(devtoolset)
CentOS 8 / Stream dnf 直接安装
需要最新 GCC 源码编译

五、常见问题

❓ 升级后 gcc 还是旧版本?

  • SCL 需要 scl enable
  • 或检查 which gcc

❓ 编译程序时报 GLIBCXX 错误?

  • 使用新 GCC 的 libstdc++.so.6
  • 或链接静态库

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

  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ 你想升级到 GCC 几
  • ✅ 是服务器还是本地开发环境

我可以给你 精确到命令 的方案。

0