在 CentOS 上选择 C++ 编译器,常见做法和推荐如下(按使用场景说明):
CentOS 默认仓库中自带 gcc / g++,稳定、兼容性好。
g++ --version
sudo yum install -y gcc gcc-c++
g++ main.cpp -o main
✅ 优点
❌ 缺点
适合 CentOS 7 / 8 用户,想用 C++11 / C++14 / C++17。
sudo yum install -y centos-release-scl
sudo yum install -y devtoolset-9
scl enable devtoolset-9 bash
echo "source /opt/rh/devtoolset-9/enable" >> ~/.bashrc
g++ --version
✅ 优点
sudo yum install -y clang
clang++ main.cpp -o main
✅ 优点
❌ 注意
适合 强需求最新 C++20/23 支持 的场景。
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)
sudo make install
⚠️ 风险
| 场景 | 推荐 |
|---|---|
| CentOS 7/8 普通开发 | gcc (SCL devtoolset) |
| 服务器 / 生产环境 | 系统 gcc |
| 现代 C++(C++17+) | devtoolset-9/10/11 |
| 编译速度优先 | clang |
| 研究 / 尝鲜 | 手动编译 gcc |
✅ CentOS 7 + C++17
sudo yum install -y centos-release-scl
sudo yum install -y devtoolset-11
scl enable devtoolset-11 bash
如果你愿意,可以告诉我:
我可以给你一套 最合适、最稳定的编译器方案。