“Linux C++ 报错”范围很广,下面我按常见报错类型 → 定位方法 → 解决思路给你一个实用指南。如果你能贴出具体报错信息,我可以直接帮你定位。
报错示例
fatal error: xxx.h: No such file or directory
解决
find / -name xxx.h 2>/dev/null
-I:g++ main.cpp -I/path/to/include
sudo apt install libxxx-dev
报错示例
undefined reference to `functionName`
解决
g++ main.cpp -lxxx
g++ main.cpp -L/path/to/lib -lxxx
g++ main.cpp -lyourlib -lthirdparty
报错示例
error: ‘xxx’ was not declared in this scope
解决
g++ -std=c++17 main.cpp
常用:
原因
调试方法
gdb ./a.out
run
bt
或使用:
valgrind ./a.out
报错示例
error while loading shared libraries: libxxx.so: cannot open shared object file
解决
ldd ./a.out
export LD_LIBRARY_PATH=/path/to/lib:$LD_LIBRARY_PATH
永久:
sudo ldconfig
Permission denied
chmod +x a.out
| 问题 | 说明 |
|---|---|
忘记 return 0 |
不一定报错,但不规范 |
cout 未 flush |
程序崩溃看不到输出 |
多线程未加 -pthread |
运行时崩溃 |
| 32/64 位混用 | 链接失败 |
请尽量提供:
例如:
Ubuntu 22.04,g++ 11
报错:undefined reference to pthread_create
编译:g++ main.cpp
如果你愿意,直接把报错贴出来,我可以一步一步帮你改到能编译运行 ✅