在 Ubuntu 上解决 C++ 报错,一般可以按下面这个思路来排查。你可以对照看看属于哪一类问题。
g++ --version
如果没有:
sudo apt update
sudo apt install g++ build-essential
fatal error: iostream: No such file or directory
✅ 原因:
.c 会被当 C 语言)✅ 解决:
sudo apt install build-essential
并确保:
#include <iostream>
文件后缀是 .cpp
undefined reference to `sqrt`
✅ 原因:
✅ 解决:
g++ main.cpp -lm
常见库:
| 库 | 参数 |
|---|---|
| 数学库 | -lm |
| pthread | -lpthread |
| 自定义库 | -L./ -lxxx |
expected ';' before 'return'
✅ 原因:
✅ 解决:
vim / vscode 高亮提示Segmentation fault (core dumped)
✅ 常见原因:
delete 重复释放✅ 调试方法:
g++ main.cpp -g
gdb ./a.out
在 gdb 中:
run
bt
fatal error: xxx.h: No such file or directory
✅ 解决方法:
sudo apt install libxxx-dev
g++ main.cpp -I./include
g++ -Wall -Wextra -std=c++17 main.cpp -o main
./main
参数说明:
-Wall -Wextra:显示更多警告-std=c++17:指定 C++ 标准你可以把 完整报错信息 + 代码 发出来,例如:
test.cpp:5:10: fatal error: vector: No such file or directory
我可以 逐行解释 + 给出修改方案 ✅