在 Ubuntu 上如果 GCC 编译时提示缺失头文件(如 stdio.h、stdlib.h、bits/xxx.h 等),通常是开发包没装全或系统环境不完整导致的。下面按常见情况给你一套修复方法。
sudo apt update
sudo apt install build-essential
build-essential 包含:
装完一般就能解决:
fatal error: stdio.h: No such file or directory
例如缺失 stdint.h:
apt-file search stdint.h
如果没装 apt-file:
sudo apt install apt-file
sudo apt-file update
iostream)sudo apt install g++ libc6-dev
或明确装:
sudo apt install libstdc++-dev
如果是 32 位:
sudo apt install gcc-multilib g++-multilib
gcc test.c -I/usr/include -I/usr/local/include
查看头文件搜索路径:
gcc -xc -E -v -
常见于:
解决:
sudo apt install libc6-dev
| 报错 | 修复 |
|---|---|
fatal error: stdio.h |
sudo apt install libc6-dev |
bits/libc-header-start.h |
sudo apt install libc6-dev |
iostream: No such file |
sudo apt install g++ |
sys/socket.h |
sudo apt install libc6-dev |
which gcc
gcc --version
ls /usr/include/stdio.h
如果 /usr/include 是空的,说明系统损坏,建议:
sudo apt --reinstall install libc6-dev
如果你愿意,可以把 具体的报错信息贴出来(gcc 版本 + 缺失的头文件名),我可以直接告诉你该装哪个包。