在 Ubuntu 下使用 gcc 编译时“缺库”(找不到头文件或链接库),一般可以按下面思路处理。
典型错误:
fatal error: xxx.h: No such file or directory
说明:开发库没装
典型错误:
undefined reference to `xxx`
/usr/bin/ld: cannot find -lxxx
说明:库文件或 -l 参数有问题
Ubuntu 中:
libxxxlibxxx-dev ✅sudo apt update
sudo apt install libssl-dev # OpenSSL
sudo apt install libpthread-stubs0-dev
sudo apt install libmysqlclient-dev
如果你不知道库名,可以搜索:
apt search xxx | grep dev
gcc main.c -I/usr/include/xxx
gcc main.c -L/usr/lib/x86_64-linux-gnu -lxxx
gcc main.c -lpthread -lm
find /usr -name "xxx.h"
find /usr -name "libxxx.so*"
❌ libssl1.1
✅ libssl-dev
uname -m
dpkg --print-architecture
需要指定:
--sysroot=
以及对应 toolchain 的库
你可以直接把 gcc 报错信息 贴出来,例如:
cannot find -lxxx
或
fatal error: curl/curl.h
我可以帮你精确告诉你该装哪个包、加什么参数。