Ubuntu 下 C++ 报错的原因很多,不把具体错误信息贴出来,只能从最常见情况给你排查方向。下面我按「最常见 → 次常见」帮你系统梳理一下。
如果你用的是 g++ 编译,却没装:
g++ hello.cpp
报错类似:
Command 'g++' not found
✅ 解决:
sudo apt update
sudo apt install g++
检查版本:
g++ --version
比如:
g++ hello.c -o hello
✅ C++ 推荐用 .cpp 后缀:
g++ hello.cpp -o hello
例如:
#include <iostream.h> // ❌ 错误
✅ 正确写法:
#include <iostream>
using namespace std;
main 函数void test() {}
❌ 报错:
undefined reference to `main'
✅ 必须有:
int main() {
return 0;
}
❌ 错误:
gcc hello.cpp
✅ 正确:
g++ hello.cpp -o hello
运行程序时报:
Permission denied
✅ 解决:
chmod +x hello
./hello
例如:
auto x = 5;
❌ 老版本 gcc 报错
✅ 解决:
g++ hello.cpp -std=c++11 -o hello
或:
g++ hello.cpp -std=c++17 -o hello
比如用 pthread:
#include <pthread.h>
❌ 报错:
undefined reference to `pthread_create'
✅ 解决:
g++ hello.cpp -lpthread
请你把下面信息发出来(复制粘贴即可):
1️⃣ 完整报错信息(尽量全)
2️⃣ 你的 C++ 代码(或关键部分)
3️⃣ 编译命令
4️⃣ Ubuntu 版本(可选):
lsb_release -a
// hello.cpp
#include <iostream>
using namespace std;
int main() {
cout << "Hello Ubuntu!" << endl;
return 0;
}
g++ hello.cpp -std=c++17 -o hello
./hello
如果你愿意,可以直接把报错内容贴出来,我可以一行一行帮你分析 ✅