在 Ubuntu 上用 C++ 编译时“找不到头文件”,通常有以下几种常见原因和解决办法。你可以对照看看是哪一种。
build-essential很多 Ubuntu 最小化安装不包含 C++ 头文件。
sudo apt update
sudo apt install build-essential
装完后再编译:
g++ main.cpp
<iostream>)如果连标准库都找不到:
#include <iostream>
报错:
fatal error: iostream: No such file or directory
✅ 解决:
sudo apt install g++ libc6-dev
例如:
#include <opencv2/opencv.hpp>
报错:
fatal error: opencv2/opencv.hpp: No such file or directory
-I 头文件路径✅ 解决示例(OpenCV):
sudo apt install libopencv-dev
编译时:
g++ main.cpp `pkg-config --cflags --libs opencv4`
例如:
#include "myhead.h"
报错:
fatal error: myhead.h: No such file or directory
-I✅ 解决:
g++ main.cpp -I./include
目录结构示例:
project/
├── main.cpp
└── include/
└── myhead.h
CMake 中必须写:
include_directories(${PROJECT_SOURCE_DIR}/include)
或现代写法:
target_include_directories(myapp PRIVATE include)
sudo apt install g++-9
g++-9 main.cpp
你可以贴出:
#include 内容我可以精确告诉你缺哪个包 / 哪条参数。
如果你愿意,可以直接把:
报错截图 / 编译命令 / 代码开头几行
发出来,我帮你一行一行看。