在 Ubuntu 上“找不到 C++ 头文件”(如 iostream、vector、stdio.h 等),通常不是系统坏了,而是开发环境没有装好或编译方式不对。下面按常见原因逐一说明。
Ubuntu 默认只装系统运行环境,不装编译器。
g++: command not found
或
fatal error: iostream: No such file or directory
安装基础开发工具:
sudo apt update
sudo apt install build-essential
build-essential 包含:
g++(C++ 编译器)gcclibc6-dev(系统头文件)make安装后验证:
g++ --version
gcc 而不是 g++gcc main.cpp
gcc 默认按 C 语言 处理,找不到 C++ 头文件。
g++ main.cpp -o main
如果你已经装了 g++,但仍报错,可能是:
检查是否存在标准头文件:
ls /usr/include/c++/
如果没有,重新安装:
sudo apt install g++ libstdc++-dev
#include <iostream.h> // ❌ 老式写法
#include <iostream> // ✅ 标准 C++
如果你用的是自己写的头文件:
#include "myheader.h"
但不在当前目录或指定路径:
g++ main.cpp -I./include
如果你在:
可能:
/usr/includewhich g++
ls /usr/include/c++/
g++ test.cpp -o test
如果你愿意,可以把完整报错信息或编译命令贴出来,我可以直接帮你精确定位问题。