在 CentOS 上配置 C++ 编译环境“总失败”,通常不是某一件事错了,而是多个常见坑叠加。下面按最常见原因 → 解决办法给你梳理,基本能覆盖 90% 的情况。
很多人只装了系统,没装编译器。
检查:
g++ --version
如果提示:
command not found
说明 根本没装 g++
解决:
sudo yum groupinstall "Development Tools"
# 或
sudo yum install gcc gcc-c++
现象:
nullptr_t 报错std::filesystem 找不到auto / lambda 异常解决:
sudo yum install centos-release-scl
sudo yum install devtoolset-9
scl enable devtoolset-9 bash
❌ 错误示例:
g++ main.c
✅ 正确:
g++ main.cpp -o main
./main
C++ 文件必须是 .cpp / .cc / .cxx
常见错误:
fatal error: xxx.h: No such file or directory
原因:
-I 路径解决:
sudo yum install xxx-devel
例如:
sudo yum install openssl-devel
错误示例:
undefined reference to `pthread_create'
解决(加库):
g++ main.cpp -lpthread
常见库:
-lpthread-lm-lstdc++(一般自动)错误常来自:
cmake检查:
cmake --version
安装:
sudo yum install cmake
CentOS 8 官方源已停,会导致安装失败。
解决:
sudo yum install gcc gcc-c++ cmake make
g++ --version
测试:
#include <iostream>
int main() {
std::cout << "OK" << std::endl;
}
g++ test.cpp -o test
./test
如果你愿意,把下面信息发我,我可以精准定位:
cat /etc/redhat-release)我可以一步一步帮你排雷。