主要参考:wpa_supplicant交叉编译
选择的版本:
openssl-1.0.2r.tar.gz
libnl-3.5.0.tar.gz
wpa_supplicant-2.5(版本太新会有报错)
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=aarch-himix100-linux- #make CC=aarch-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.5.0.tar.gz
2.2 编译
解压进入主目录,使用如下命令编译:
#mkdir _install #./configure --host=aarch-himix100-linux --prefix=$PWD/_install #make #make install
_install为相关库的存放路径
aarch-himix100-linux- 为交叉编译工具链
3 wpa_supplicant
3.1 下载
下载链接:http://w1.fi/releases/
下载wpa_supplicant-2.6.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 LIBS_p += -L/home/openssl-1.0.2r/_install/lib CFLAGS += -I/home/libnl-3.5.0/_install/include/libnl3 LIBS += -L/home/libnl-3.5.0/_install/lib
路径一定要对,否则会导致找不到头文件和库,
在.config中,修改
# Use libnl v2.0 (or 3.0) libraries. CONFIG_LIBNL20=y # Use libnl 3.2 libraries (if this is selected, CONFIG_LIBNL20 is ignored) CONFIG_LIBNL32=y
参考:
https://blog.csdn.net/u011003120/article/details/90175648
https://www.cnblogs.com/henryliublog/p/9902021.html
https://www.cnblogs.com/songfeixiang/p/3733799.html