你这个问题信息太少了,我没法直接判断“为什么编译报错”。不过我可以给你一个排查思路和常见原因清单,你对照一下,或者把报错信息 / 代码片段贴出来,我可以精确分析。
Linux 下 C++ 编译常见三种错误:
error: expected ';' before '}'
error: 'cout' was not declared in this scope
undefined reference to `func()'
Segmentation fault (core dumped)
cout << "hello"; // 没加
✅ 应加:
#include <iostream>
using namespace std;
gcc main.cpp
❌ 错误
✅ 应该用:
g++ main.cpp
比如用了 pthread:
pthread_create(...)
编译要加:
g++ main.cpp -lpthread
数学库:
g++ main.cpp -lm
// a.cpp
void foo();
// main.cpp
int main(){
foo();
}
编译:
g++ main.cpp
❌ undefined reference to foo
✅ 要一起编译:
g++ main.cpp a.cpp
// cfile.c
void func(){}
// main.cpp
void func();
❌ 链接错误
✅ 改成:
extern "C" void func();
-std=c++11/14/17用了 C++11 特性:
auto x = 5;
老版本 g++ 默认不支持:
g++ main.cpp -std=c++11
Linux 下尽量不用:
我的代码.cpp
请把下面任意一个发出来,我可以一眼看出问题:
例如:
g++ main.cpp -o main
main.cpp:5:10: error: ...
如果你愿意,直接把报错截图或文字贴出来,我可以一步一步帮你改到能编译通过 ✅