温馨提示×

centos如何切换gcc版本

小樊
45
2026-07-19 08:09:22
栏目: 智能运维

CentOS 上切换 gcc 版本,常见有三种方式,从推荐程度由高到低说明。


✅ 方式一:使用 scl(Software Collections)【推荐】

这是 CentOS 7/8 官方推荐方式,适合需要多个 gcc 并存、不破坏系统环境。

1️⃣ 安装 SCL 源

yum install -y centos-release-scl

2️⃣ 查看可用的 gcc 版本

yum list available devtoolset-*-gcc

常见版本:

  • devtoolset-7-gcc
  • devtoolset-8-gcc
  • devtoolset-9-gcc
  • devtoolset-10-gcc
  • devtoolset-11-gcc

3️⃣ 安装指定 gcc 版本(例如 gcc 9)

yum install -y devtoolset-9

4️⃣ 临时切换 gcc 版本(当前 shell 生效)

scl enable devtoolset-9 bash

验证:

gcc --version

5️⃣ 永久切换(写入环境变量)

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

优点

  • 不影响系统 gcc
  • 多版本共存
  • 企业环境常用

✅ 方式二:使用 alternatives(适合单系统 gcc 替换)

⚠️ 不推荐新手使用,容易破坏系统环境。

1️⃣ 安装多个 gcc

yum install gcc gcc-9

2️⃣ 加入 alternatives

alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90
alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 80

3️⃣ 切换版本

alternatives --config gcc

选择对应编号即可。

验证:

gcc --version

✅ 方式三:手动编译安装 gcc(高级)

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

1️⃣ 下载 gcc 源码

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

2️⃣ 安装依赖

./contrib/download_prerequisites

3️⃣ 编译安装

mkdir build && cd build
../configure --prefix=/usr/local/gcc-13 --enable-languages=c,c++
make -j$(nproc)
make install

4️⃣ 切换版本

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

或写入 .bashrc


✅ 推荐总结

场景 推荐方式
CentOS 7/8 多版本切换 scl
简单替换系统 gcc alternatives
最新 gcc / 自定义 手动编译

❓常见坑

  • CentOS 7 默认 gcc 4.8,不建议直接升级
  • scl 切换只对当前 shell 生效
  • 编译内核 / 驱动时,注意 gcc 兼容性

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

  • ✅ CentOS 版本(7 / 8 / Stream)
  • ✅ 目标 gcc 版本(如 gcc 9 / 11 / 13)
  • ✅ 用途(编译软件 / 内核 / C++17 / C++20)

我可以给你精确命令

0