在 CentOS 上 C++ 编译配置失败,原因很多,需要结合具体报错来看。下面我按 最常见原因 → 排错方法 → 解决步骤 给你系统梳理一遍。
CentOS 最小化安装 默认不带 g++。
现象
g++: command not found
cc1plus: command not found
解决办法
# 查看是否安装
g++ --version
# 如果没有
sudo yum install -y gcc gcc-c++ make
如果你是 CentOS 8+ / Rocky / Alma:
sudo dnf install gcc gcc-c++ make
如果是:
cmake: command not found
解决
sudo yum install cmake
或安装新版:
sudo yum install epel-release
sudo yum install cmake3
常见报错:
xxx.h: No such file or directory
原因
解决
sudo yum install -y openssl-devel
sudo yum install -y glibc-devel
例如:
| 报错 | 安装 |
|---|---|
| openssl | openssl-devel |
| zlib | zlib-devel |
| curl | libcurl-devel |
| boost | boost-devel |
比如:
error: ‘filesystem’ is not a namespace-name
原因
解决 升级 gcc:
sudo yum install centos-release-scl
sudo yum install devtoolset-11
scl enable devtoolset-11 bash
永久生效:
echo "source /opt/rh/devtoolset-11/enable" >> ~/.bashrc
Permission denied
解决
chmod +x configure
sudo ./configure
或不要把项目放在 /root 下。
./configure 失败./configure --prefix=/usr/local
关键看最后几行错误
config.log
查看:
tail -n 50 config.log
cmake ..
重点看:
Could NOT find XXX
解决
sudo yum install XXX-devel
make
常见原因
执行下面命令,逐项确认:
g++ --version
cmake --version
make --version
yum repolist
请你贴出 以下任意一个:
cat /etc/centos-release
./configurecmakeg++例如:
CentOS 7,cmake 配置 opencv 失败,提示
Could NOT find CXX17
我可以一步一步帮你精确到命令级别 ✅