openssl/libnl/wpa_supplicant开源库交叉编译

wpa_supplicant 的编译依赖 libnl 库、libssl库,因此需要先编译这两个库。
在编译以下开源库时不同编译工具链编译结果可能存在差异(其他编译器可能存在编译不过的情况)
1 libssl编译
1.1下载

下载链接:https://www.openssl.org/source/ 下载文件openssl-1.0.2r.tar.gz
1.2编译
解压文件,进入主目录,使用如下命令编译
a) mkdir _install
b) ./config no-asm shared --prefix=$PWD/_install --cross-compile-prefix=arm-hisiv500-linux-uclibcgnueabi-

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

c) make CC=arm-hisiv500-linux-uclibcgnueabi-gcc
d) make insatll

2 libnl编译
2.1 下载

下载链接:
http://www.linuxfromscratch.org/blfs/view/svn/basicnet/libnl.html 下载当前最新包libnl-3.5.0.tar.gz
https://www.infradead.org/~tgr/libnl/ (官网)
2.2 编译
解压进入主目录,使用如下命令编译:
a) mkdir _install
b) ./configure CC=arm-hisiv500-linux-uclibcgnueabi-gcc --host=arm-hisiv500-linux-uclibcgnueabi --prefix=$(pwd)/_install/
c) make
d) make install
如果上面的host报错无法识别,就设置成–host=arm

问题分析: 在make时提示error: src/lib/.libs/libnl-cli-3.so: No such file or
directory 是因为./configure CC=arm-hisiv500-linux-uclibcgnueabi-gcc
–host=arm-hisiv500-linux-uclibcgnueabi --prefix=$(pwd)/_install/时—host设置不对,其实在这步就error了

3 wpa_supplicant编译
3.1 下载

下载链接:http://w1.fi/releases/ 下载当前最新包wpa_supplicant-2.9.tar.gz
3.2 编译
解压并进入主目录 使用如下命令编译
a) cd wpa_supplicant/

/*在defconfig中注释掉dbus

#CONFIG_CTRL_IFACE_DBUS_NEW=y
#Add introspection support for new DBus control interface
#CONFIG_CTRL_IFACE_DBUS_INTRO=y

在在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.5.0/_install/include/libnl3
LIBS += -L/home/libnl-3.5.0/_install/lib

路径根据自己本地实际情况进行更改*/
b) cp defconfig .config
c) make CC=arm-hisiv500-linux-uclibcgnueabi-gcc
本文参考https://blog.csdn.net/u011003120/article/details/90175648 ,区别在于libnl、wpa_supplicant使用版本不同,另增加了部分编译出错的解决方法

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值