wpa_supplicant hostapd交叉编译

本文档详细介绍了如何交叉编译wpa_supplicant及其依赖库libssl和libnl的过程。首先需编译这两个库,然后配置wpa_supplicant的编译参数,最后生成动态或静态链接的可执行文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

wpa_supplicant交叉编译_Stoneshen的博客-优快云博客_wpa_supplicant 交叉编译

wpa_supplicant 的编译依赖 libnl 库、libssl库,因此需要先编译这两个库。
1 libssl编译
1.1下载
下载链接:https://www.openssl.org/source/
下载文件openssl-1.0.2r.tar.gz

1.2编译
解压文件,进入主目录,使用如下命令编译

#mkdir _install
#./config  no-asm shared --prefix=$PWD/_install --cross-compile-prefix=arm-himix100-linux- 
#make CC=arm-himix100-linux-gcc
#make insatll


_install为相关库的存放路径
arm-himix100-linux- 为交叉编译工具链
注意,在编译过程中,如果出现如下错误:
arm-himix100-linux-gcc: error: unrecognized command line option ‘-m64’
则需要打开Makefile 查找里面的 ‘-m64’,并将其删除即可

2 libnl编译
2.1 下载
下载链接:
http://www.linuxfromscratch.org/blfs/view/svn/basicnet/libnl.html
下载当前最新包libnl-3.4.0.tar.gz

2.2 编译
解压进入主目录,使用如下命令编译:

#mkdir _install
#./configure --host=arm-himix100-linux --prefix=$PWD/_install
#make 
#make install



_install为相关库的存放路径
arm-himix100-linux- 为交叉编译工具链

3 wpa_supplicant/hostapd

wpa_supplicant、hostapd编译基本一样。我这里用的都是2.8版本。
3.1 下载
下载链接:http://w1.fi/releases/
下载当前最新包wpa_supplicant-2.8.tar.gz

3.2 编译
解压并进入主目录
使用如下命令编译

#cd wpa_supplicant/
#cp defconfig .config


在Makefile中添加libssl和libnl的路径,如下:

CFLAGS += -I/home/openssl-1.0.2r/_install/include
LIBS += -L/home/openssl-1.0.2r/_install/lib
CFLAGS += -I/home/libnl-3.4.0/_install/include/libnl3
LIBS += -L/home/libnl-3.4.0/_install/lib


路径要根据自己的实际路径填写

export PKG_CONFIG_PATH=/home/libnl3.4.0/_install/lib/pkgconfig/:$PKG_CONFIG_PATH

#make CC=arm-himix100-linux-gcc
编译成功后便生成了工具wpa_supplicant和wpa_cli

编译wpa_supplicant 这一步出现“cannot find -ldbus-1”麻烦请教一下原因

看看https://www.linuxfromscratch.org/blfs/view/svn/basicnet/wpa_supplicant.html 把dbus相关编译选项注销即可。

上面生成的可执行文件为动态链接的,若要想静态链接,在Makefile中找到对应的编译选项加上-static字段即可,如下:

wpa_supplicant: $(BCHECK) $(OBJS) $(EXTRA_progs)
    $(Q)$(LDO) --static $(LDFLAGS) -o wpa_supplicant $(OBJS) $(LIBS) $(EXTRALIBS) -lm -lpthread
    @$(E) "  LD " $@
wpa_cli: $(OBJS_c)
    $(Q)$(LDO) -static $(LDFLAGS) -o wpa_cli $(OBJS_c) $(LIBS_c)
    @$(E) "  LD " $@

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值