在 CentOS 上升级 C++(实际是升级 GCC / G++ 编译器)通常有几种方式,下面按推荐程度给你说明。
g++ --version
gcc --version
如果是 4.8.5(CentOS 7 默认),确实偏旧。
适合 CentOS 7 / 8,安全、简单、不影响系统
yum install -y centos-release-scl
yum install -y devtoolset-11-gcc devtoolset-11-gcc-c++
scl enable devtoolset-11 bash
g++ --version
echo "source /opt/rh/devtoolset-11/enable" >> ~/.bashrc
✅ 优点:
适合需要长期默认替换系统 gcc 的情况。
yum install -y epel-release
yum install -y gcc gcc-c++
但 CentOS 官方仓库版本仍偏旧,不推荐用于新 C++ 标准。
适合需要 GCC 12 / 13 / 14 等最新版本。
yum groupinstall -y "Development Tools"
yum install -y gmp-devel mpfr-devel libmpc-devel
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
./configure --enable-languages=c,c++ --disable-multilib
make -j$(nproc)
make install
⚠️ 注意:
可以直接用:
dnf install gcc-toolset-12
g++ -std=c++17 test.cpp -o test
g++ -std=c++20 test.cpp -o test
| 场景 | 推荐方式 |
|---|---|
| CentOS 7 正常开发 | devtoolset-11 |
| 需要最新 C++ | 源码编译 |
| 生产稳定环境 | SCL |
| 新系统 | CentOS Stream + dnf |
如果你告诉我:
我可以给你精确命令。