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

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

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

#make CC=arm-himix100-linux-gcc

编译成功后便生成了工具wpa_supplicant和wpa_cli
上面生成的可执行文件为动态链接的,若要想静态链接,在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 " $@

猜你喜欢

转载自blog.csdn.net/u011003120/article/details/90175648
今日推荐