在 CentOS 上“升级 C++ 版本”,通常说的是升级 GCC / G++ 编译器版本(因为 C++ 标准是由 GCC 提供的)。下面按常见场景给你一套实用做法。
gcc --version
g++ --version
CentOS 7 默认一般是 gcc 4.8.5(不支持 C++14/17 完整特性)
CentOS 8 默认一般是 gcc 10
sudo yum install centos-release-scl
sudo yum install devtoolset-9 # 或 10 / 11
启用:
scl enable devtoolset-9 bash
查看版本:
gcc --version
⚠️ 注意:
.bashrc:echo "source /opt/rh/devtoolset-9/enable" >> ~/.bashrc
可选版本:
适合需要非常新版本(如 gcc 13):
yum install -y gmp mpfr mpc
wget https://ftp.gnu.org/gnu/gcc/gcc-13.2.0/gcc-13.2.0.tar.gz
tar -xzf gcc-13.2.0.tar.gz
cd gcc-13.2.0
./configure --enable-languages=c,c++ --disable-multilib
make -j$(nproc)
make install
⚠️ 耗时长、易出错
sudo dnf install gcc gcc-c++
sudo dnf install gcc-toolset-12
scl enable gcc-toolset-12 bash
如果你是运行程序时报错 libstdc++.so.6: version not found:
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
解决方式:
libstdc++.so.6(有风险)g++ -std=c++17 test.cpp -o test
./test
| 系统 | 推荐方式 |
|---|---|
| CentOS 7 | devtoolset-9/11 |
| CentOS 8 | gcc-toolset |
| 需要最新 | 编译 GCC |
如果你愿意,可以告诉我:
我可以给你精确命令。