在 CentOS 上升级 GCC 版本,常见有 三种方式,按推荐程度从高到低说明:
适用于:CentOS 7 / 8 优点:不替换系统自带 gcc,可多版本共存
# 安装 SCL
sudo yum install -y centos-release-scl
# 安装新版本 gcc(例如 gcc 9)
sudo yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++
# 临时启用
scl enable devtoolset-9 bash
# 查看版本
gcc --version
echo "source /opt/rh/devtoolset-9/enable" >> ~/.bashrc
source ~/.bashrc
常用版本对应:
适合需要较新版本但不想编译的情况
# 示例(CentOS 7)
sudo yum install -y yum-plugin-copr
sudo yum copr enable -y hhorak/devtoolset-11
sudo yum install -y gcc
⚠️ 稳定性不如 SCL,生产环境慎用
适合需要 最新 GCC(12/13/14)
# 安装依赖
sudo yum groupinstall -y "Development Tools"
sudo yum install -y gmp-devel mpfr-devel libmpc-devel
# 下载源码
cd /usr/src
wget https://ftp.gnu.org/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.gz
tar xf gcc-13.2.0.tar.gz
cd gcc-13.2.0
# 下载依赖
./contrib/download_prerequisites
# 编译
mkdir build && cd build
../configure --enable-languages=c,c++ --disable-multilib
make -j$(nproc)
sudo make install
# 刷新动态库
sudo ldconfig
⚠️ 编译时间长(30分钟~数小时)
gcc --version
g++ --version
| 场景 | 推荐方式 |
|---|---|
| 服务器 / 生产 | ✅ SCL |
| 开发测试 | SCL / COPR |
| 最新特性 | 源码编译 |
如果你是 CentOS 几?需要 gcc 几? 我可以给你精确命令。