在 CentOS 上升级 C++(实际上是升级 GCC / G++ 编译器),常见做法取决于你的 CentOS 版本。下面按 主流场景 给你一套清晰、可操作的方案。
g++ --version
gcc --version
常见情况:
这是 官方推荐、最安全、最稳定 的方式。
yum install -y centos-release-scl
yum install -y devtoolset-11
可选版本:
scl enable devtoolset-11 bash
验证:
g++ --version
写入 .bashrc:
echo "source /opt/rh/devtoolset-11/enable" >> ~/.bashrc
source ~/.bashrc
✅ 不影响系统稳定性,生产环境首选
yum install gcc gcc-c++ -y
查看可用版本:
yum list available gcc
dnf install gcc-toolset-11
scl enable gcc-toolset-11 bash
⚠️ 风险高、耗时长、不建议生产环境
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.xz
tar -xf gcc-13.2.0.tar.xz
cd gcc-13.2.0
./contrib/download_prerequisites
mkdir build && cd build
../configure --disable-multilib --enable-languages=c,c++
make -j$(nproc)
make install
安装后:
export LD_LIBRARY_PATH=/usr/local/lib64:$LD_LIBRARY_PATH
如果你只是想支持 C++17 / C++20,不需要升级 GCC,可以:
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
然后:
libstdc++.so.6⚠️ 有风险,请谨慎操作。
| 场景 | 推荐方式 |
|---|---|
| CentOS 7 | ✅ DevToolset |
| CentOS 8/9 | ✅ AppStream / gcc-toolset |
| 生产环境 | ✅ SCL |
| 学习 / 测试 | 手动编译 |
你可以直接告诉我:
cat /etc/centos-release)我可以直接给你 最合适的一条命令方案 ✅