我的系统是x86-64的,iMX8的运行环境是arm64,所以需要进行交叉编译
~/Mason/lib/bw/hostapd-2.9/hostapd$ make
../src/drivers/driver_nl80211.c:17:10: fatal error: netlink/genl/genl.h: No such file or directory
17 | #include <netlink/genl/genl.h>
| ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
Makefile:1294: recipe for target '../src/drivers/driver_nl80211.o' failed
看见有的博主说安装libnl-3-dev和libnl-genl-3-dev可以解决问题,但是我的系统里已经安装了这两个库,系统提示不需要安装.
因为genl.h 是安装在libnl-3-dev:/usr/include/libnl3/netlink/genl/genl. h
然后突发奇想,就在.config 文件里面增加了这个路径。问题就可以完美解决了
CONFIG_LIBNL32=y
+CFLAGS += -I /usr/include/libnl3
+LIBS += -L /usr/lib
CFLAGS += -I /home/q/Mason/lib/mm/libnl-3.2.25/__install/include/libnl3
LIBS += -L /home/q/Mason/lib/mm/libnl-3.2.25/__install/lib
CFLAGS += -I /home/q/Mason/lib/bw/openssl-1.1.1a/__install/include
LIBS += -L

在x86-64系统上进行arm64的交叉编译hostapd时遇到genl.h缺失的问题,尽管已安装libnl-3-dev和libnl-genl-3-dev。通过在.config中添加头文件路径并调整CFLAGS和LIBS变量,成功解决了编译错误,最终生成了适用于ARMaarch64架构的动态链接库。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



