wpa_supplicant 的编译

1. wpa_supplicant的编译需要用到的3个源码包, 分别是wpa_supplicant, openssl, libnl

wpa_supplicant的下载地址:http://w1.fi/releases/

openssl的下载地址:https://www.openssl.org/so

libnl的下载地址:http://www.infradead.org/~tgr/libnl/files/

2. 编译

libnl的编译, 注意版本兼容

./configure --prefix=/home/fnie/wpa/out/libnl --disable-static 

make
make check
make install
// to install the API documentation:
mkdir -vp /home/fnie/wpa/out/libnl/doc
tar -xf ../libnl-doc-3.4.0.tar.gz --strip-components=1 --no-same-owner -C /home/fnie/wpa/out/libnl/doc

(--disable-static 禁止构建静态库, 默认关闭;执行make进行编译,这时会报出编译错误:“../include/netlink_local.h:218:error 'ULONG_MAX' undeclared",我们在对应文件添加一个头文件 #include<limits.h>即可解决问题)

openssl的编译:

./config shared --prefix=/home/fnie/wpa/out/ssl/prefix --openssldir=/home/fnie/wpa/out/ssl/configuration
make
make test
make install

wpa_supplicant的编译

cd ~/wpa/wpa_supplicant-2.6/wpa_supplicant
cp defconfig .config
修改配置文件 .config,在"#Uncomment following two linee and fix..."下增加如下语句,用来添加openssl和libnl的头文件和库文件目录,更新编译链接环境变量:
CFLAGS += -I/home/fnie/wpa/out/ssl/prefix/include
CFLAGS += -I/home/fnie/wpa/out/libnl/include
LIBS += -L/home/fnie/wpa/out/ssl/prefix/lib
LIBS += -L/home/fnie/wpa/out/libnl/lib
LIBS += -L/home/fnie/wpa/out/libnl-1.1-stable/lib
LIBS_p += -L/home/fnie/wpa/out/ssl/prefix/lib

执行 make 进行编译,成功后生成三个目标文件 wpa_supplicant, wpa_cli, wpa_passphrase 。

猜你喜欢

转载自www.cnblogs.com/henryliublog/p/9902021.html