温馨提示×

ubuntu c++为何报错

小樊
43
2026-08-28 11:31:05
栏目: 编程语言

Ubuntu 下 C++ 报错的原因很多,不把具体错误信息贴出来,只能从最常见情况给你排查方向。下面我按「最常见 → 次常见」帮你系统梳理一下。


一、最常见原因汇总(80% 都在这里)

1️⃣ 没有安装 g++(最常见)

如果你用的是 g++ 编译,却没装:

g++ hello.cpp

报错类似:

Command 'g++' not found

✅ 解决:

sudo apt update
sudo apt install g++

检查版本:

g++ --version

2️⃣ 文件名、命令写错

比如:

g++ hello.c -o hello

✅ C++ 推荐用 .cpp 后缀:

g++ hello.cpp -o hello

3️⃣ 头文件错误

例如:

#include <iostream.h>   // ❌ 错误

✅ 正确写法:

#include <iostream>
using namespace std;

4️⃣ 没有 main 函数

void test() {}

❌ 报错:

undefined reference to `main'

✅ 必须有:

int main() {
    return 0;
}

5️⃣ 编译命令错误

❌ 错误:

gcc hello.cpp

✅ 正确:

g++ hello.cpp -o hello

二、Ubuntu 特有的常见问题

6️⃣ 权限问题

运行程序时报:

Permission denied

✅ 解决:

chmod +x hello
./hello

7️⃣ 使用了 C++11 / C++17 特性却没指定标准

例如:

auto x = 5;

❌ 老版本 gcc 报错

✅ 解决:

g++ hello.cpp -std=c++11 -o hello

或:

g++ hello.cpp -std=c++17 -o hello

8️⃣ 缺少第三方库

比如用 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

如果你愿意,可以直接把报错内容贴出来,我可以一行一行帮你分析 ✅

0