CentOS 本身是可以编译 C++ 程序的,所谓“不能编译”通常是因为环境或配置问题,而不是系统不支持。常见原因如下:
CentOS 默认 最小化安装不会带 g++。
g++ --version
如果提示:
command not found
说明没装。
sudo yum install -y gcc-c++
安装完成后:
g++ --version
有人只装了:
yum install gcc
但 gcc 只能编译 C,不能编译 C++。
正确做法:
yum install gcc-c++
错误示例:
gcc test.cpp
可能会报一堆 C++ 相关错误。
✅ 正确方式:
g++ test.cpp -o test
例如:
某些现代 C++(C++11/14/17)特性不支持。
查看版本:
g++ --version
如果需要新版本,可:
devtoolset(推荐)yum install centos-release-scl
yum install devtoolset-11
scl enable devtoolset-11 bash
/usr/bin检查:
which g++
echo $PATH
// test.cpp
#include <iostream>
using namespace std;
int main() {
cout << "Hello CentOS" << endl;
return 0;
}
编译运行:
g++ test.cpp -o test
./test
| 现象 | 原因 |
|---|---|
g++: command not found |
没装 g++ |
gcc 能编译 C,不能编译 C++ |
没装 gcc-c++ |
| 报 C++11 特性错误 | 编译器太旧 |
| 编译成功但无法运行 | 权限 / 路径问题 |
如果你愿意,可以把具体的报错信息贴出来,我可以直接帮你定位是哪一种原因。