温馨提示×

ubuntu c++为何运行报错

小樊
48
2026-09-02 08:55:57
栏目: 编程语言

“Ubuntu 下 C++ 运行报错”这个现象太宽泛了,需要看具体报错信息才能准确判断。不过,在 Ubuntu 上写/运行 C++ 程序,最常见的几类错误和原因如下,你可以对照看看是哪一种。


一、编译阶段常见错误

1️⃣ g++: command not found

原因:没装编译器
解决

sudo apt update
sudo apt install g++ build-essential

2️⃣ fatal error: xxx.h: No such file or directory

原因

  • 头文件拼错
  • 没包含系统路径
  • 没安装开发库

示例

#include <opencv2/opencv.hpp> // 没装 opencv

解决

sudo apt install libopencv-dev

3️⃣ undefined reference to 'xxx'

原因链接阶段没加库

示例

g++ main.cpp

如果用了 pthreadmath

g++ main.cpp -lpthread -lm

二、运行阶段常见错误

4️⃣ ./a.out: Permission denied

原因:没执行权限
解决

chmod +x a.out
./a.out

5️⃣ Segmentation fault (core dumped)

原因(非常常见)

  • 数组越界
  • 空指针
  • delete 了两次
  • scanf / cin 用错

示例错误代码

int *p = nullptr;
*p = 10;  // 段错误

6️⃣ error while loading shared libraries

原因:运行时找不到动态库

解决

ldd ./a.out
export LD_LIBRARY_PATH=/path/to/lib:$LD_LIBRARY_PATH

三、C++ 标准相关问题

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

auto x = 5;

错误

error: ‘auto’ not allowed

解决

g++ main.cpp -std=c++17

四、你可以这样贴信息,我能直接帮你改

请把下面信息发出来:

  1. 完整报错内容
  2. 你的编译命令
  3. 相关代码(关键部分即可)

例如:

g++ main.cpp
报错:
main.cpp:6:10: fatal error: iostream: No such file or directory

只要信息够具体,我可以直接告诉你是哪一行、为什么、怎么改 ✅

0