温馨提示×

centos gcc版本过低如何升

小樊
38
2026-09-17 21:34:08
栏目: 智能运维

在 CentOS 上 升级 GCC 版本常见有几种方式,下面按推荐程度给你说明,并附具体操作。


一、推荐方式:使用 SCL(Software Collections)

适合:CentOS 7 / 8,安全、不影响系统 GCC

1️⃣ 安装 SCL 源

yum install -y centos-release-scl

2️⃣ 查看可用 GCC 版本

yum list available | grep devtoolset

常见版本:

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

3️⃣ 安装指定版本(示例 gcc 11)

yum install -y devtoolset-11-gcc devtoolset-11-gcc-c++

4️⃣ 临时启用

scl enable devtoolset-11 bash
gcc --version

5️⃣ 永久生效(推荐)

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

✅ 不影响系统原有 gcc,最安全


二、CentOS 8 / Stream:使用 dnf(较新 gcc)

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

如果版本仍低,可以用:

dnf install gcc-toolset-11

三、手动编译安装(不推荐新手)

适合:需要非常新 GCC(12/13/14)

示例(gcc 12)

yum groupinstall "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 -xzf gcc-12.3.0.tar.gz
cd gcc-12.3.0

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

⚠️ 编译时间长,容易出问题


四、如何确认当前版本

gcc --version

五、常见问题

Q:升级后还是旧版本?

  • 是否用了 scl enable
  • 是否修改了 .bashrc
  • 是否用了绝对路径 /usr/bin/gcc

Q:影响系统稳定性吗?

  • SCL ✅ 不影响
  • 手动覆盖 /usr/bin/gcc ❌ 有风险

如果你告诉我:

  • CentOS 版本(7 / 8 / Stream)
  • 当前 gcc 版本
  • 用途(编译软件 / 开发 / 内核)

我可以给你最合适的升级方案。

0 踩