“Ubuntu 下 C++ 报错”这个范围比较大,不同错误解法完全不同。你可以按下面思路来定位和解决,最好把具体报错信息贴出来(编译器版本、完整报错行、代码截图都行)。
下面先给你一个常见情况速查表,你可以对照看看是哪一种:
g++: command not found原因:没装编译器
解决:
sudo apt update
sudo apt install g++ build-essential
fatal error: xxx.h: No such file or directory原因:缺少头文件或开发库
解决示例:
sudo apt install libxxx-dev
例如:
<opencv2/opencv.hpp> → libopencv-dev<pthread.h> → 加 -pthreadundefined reference to ...原因:链接阶段找不到函数实现
解决:
g++ main.cpp func.cpp -o main
g++ main.cpp -lpthread -lm
error: ‘cout’ was not declared in this scope原因:没写命名空间
解决:
#include <iostream>
using namespace std;
或
std::cout << "hi";
例如:
error: ‘auto’ in function return type
解决:
g++ main.cpp -std=c++17
Segmentation fault (core dumped)原因:空指针、数组越界、栈溢出
调试:
g++ -g main.cpp
gdb ./a.out
Permission deniedchmod +x a.out
./a.out
你可以直接发:
Ubuntu 22.04
g++ 11
代码:
xxx
报错:
xxx
我可以一步步帮你改。
如果你愿意,现在就把报错信息贴出来,我直接帮你定位 ✅