你这个问题信息太少了,我只能先给你最常见的 Linux 下 C++ 编译失败原因清单。你可以对照看看,或者把完整报错信息贴出来,我可以精准帮你分析。
g++ --version
如果提示 command not found,说明没装:
sudo apt install g++ # Ubuntu / Debian
sudo yum install gcc-c++ # CentOS / RHEL
✅ 正确示例:
g++ main.cpp -o main
❌ 常见错误:
gcc main.cpp # C++ 用 gcc 容易出问题
g++ main.cpp # 没加 -o,生成 a.out 但你可能以为失败
g++ main.cpp -o main
如果报错:
main.cpp: No such file or directory
说明:
.c 而不是 .cpp示例:
int main() {
cout << "hello" << endl;
}
报错:
‘cout’ was not declared in this scope
✅ 正确写法:
#include <iostream>
using namespace std;
报错示例:
fatal error: xxx.h: No such file or directory
解决方式:
g++ main.cpp -I./include
例如用了 pthread:
#include <pthread.h>
编译必须加:
g++ main.cpp -o main -lpthread
其他常见库:
-lm # 数学库
-ldl # 动态链接
例如用了 auto / nullptr / thread:
g++ main.cpp -std=c++11
或:
g++ main.cpp -std=c++17
❌ 错误:
void main()
✅ 正确:
int main() {
return 0;
}
1️⃣ 把 完整报错信息 复制出来
2️⃣ 说明:
g++ --version)#include <iostream>
int main() {
std::cout << "Hello Linux" << std::endl;
return 0;
}
编译:
g++ test.cpp -std=c++11 -o test
./test
如果你愿意,直接把报错贴出来(哪怕很长也没关系),我可以逐行帮你解释 ✅