在 CentOS 上 C++ 配置失败,通常不是单一原因,而是下面几类问题之一。我按最常见 → 较少见给你梳理,你可以对照自己的报错来定位。
CentOS 默认 不一定装 g++
g++ --version
如果提示:
command not found
✅ 解决:
sudo yum install gcc gcc-c++ -y
CentOS 8 / Stream:
sudo dnf install gcc gcc-c++ -y
CentOS 7 默认是 gcc 4.8.5,很多现代 C++ 不支持。
例如:
auto x = {1, 2, 3};
❌ 老 gcc 报错
✅ 解决(推荐):
sudo yum install centos-release-scl -y
sudo yum install devtoolset-11 -y
scl enable devtoolset-11 bash
或长期使用:
echo "source /opt/rh/devtoolset-11/enable" >> ~/.bashrc
如果你用 CMake:
cmake --version
CentOS 7 自带 cmake 2.8 / 3.0,很多项目要求 ≥3.10
✅ 解决:
pip install cmake --upgrade
# 或
sudo yum install cmake3
然后:
cmake3 ..
典型错误:
fatal error: xxx.h: No such file or directory
✅ 检查:
-devel 包sudo yum install xxx-devel
例如:
sudo yum install openssl-devel
错误:
cannot find -lxxx
✅ 检查:
ldconfig -p | grep xxx
✅ 指定库路径:
g++ main.cpp -L/usr/local/lib -lxxx
chmod +x configure
getenforce
如果是 Enforcing,可临时测试:
sudo setenforce 0
✅ 检查:
which gcc
which cmake
如果你愿意,把下面信息发我:
我可以直接告诉你是哪一步配置错了,以及最小修复命令 ✅