解压,进入,使用默认配置文件

cd wpa_supplicant-2.6
cp defconfig .config

修改.config文件,修改部分,根据自己的需要进行这部分的配置

#指定libnl的路径和CC
CC=/usr/arm/arm-2014.05/bin/arm-none-linux-gnueabi-gcc -L/root/openssl-1.1.1d/__install/lib
CFLAGS += -I/root/openssl-1.1.1d/__install/include
LIBS += -L/root/openssl-1.1.1d/__install/lib CONFIG_DRIVER_NL80211=y CONFIG_LIBNL32=y
#指定libnl的路径
CFLAGS += -I/root/libnl-3.5.0/__install/include
LIBS += -L/root/libnl-3.5.0/__install/lib

编译make

将生成的文件拷贝到开发吧的bin目录下

编译错误总结

  • 在定义CFLAGS或者LDFLAGS的时候,尽量不要指定PC系统的目录,像/usr/lib,/usr/include之类。因为系统一般都是x86的库,如果被交叉编译的库链接的话会报错。
cc1: warning: include location "/usr/local/include/libnl3" is unsafe for cross-compilation [-Wpoison-system-directories]
cc1: warning: include location "/usr/include/dbus-1.0" is unsafe for cross-compilation [-Wpoison-system-directories]
CC ../src/drivers/netlink.c
  • -ldbus-1指的是 libdbus.so,也就是说该错误是由于找不到libdbus.so库文件引起的.一般可以检查该库是否安装,以及所在目录的库文件名称与编译器需要的库文件名称是否一致,如果库文件存在,并且名称有差异,比如libdbus.so.20文件,而编译器需要的是libdbus.so.30,那么可以尝试使用ln -s libdbus.so.20 libdbus.so.30建议软链接,尝试解决.
/usr/arm/arm-2014.05/bin/../lib/gcc/arm-none-linux-gnueabi/4.8.3/../../../../arm-none-linux-gnueabi/bin/ld: cannot find -ldbus-1
collect2: error: ld returned 1 exit status
Makefile:1903: recipe for target 'wpa_supplicant' failed
make: *** [wpa_supplicant] Error 1

显然,找不到头文件造成的错误,有多种解决方法

  • 通过make -I/头文件路径,指定头文件搜索路径(可在Makefile中添加,一般通过CFLAGS+=头文件路径的形式来指定,或者在make后面直接使用).
  • 使用gcc --print-search-dirs可以查看头文件的搜索路径,这里的gcc需要根据你的gcc编译器名称调整,通过ln -s头文件头文件搜索位置建立`通过在头文件的搜索位置,建立一个同名软链接,来帮助编译器找到头文件
  • 通过PKG_CONFIG_PATH环境变量,指定文件搜索路径.
  • 通过修改源代码文件,如通过错误信息找到../src/drivers/driver_nl80211.c,将#include的路径修改成它可以找到的地方(不推荐).
../src/drivers/driver_nl80211.c:17:31: fatal error: netlink/genl/genl.h: No such file or directory
#include <netlink/genl/genl.h>
^
compilation terminated.
Makefile:1991: recipe for target '../src/drivers/driver_nl80211.o' failed
make: *** [../src/drivers/driver_nl80211.o] Error 1
  • make不成功 Make clean一下 在make有可能会成功.
  • 多线程make不成功,单线make却可能会成功,不信你试试.
  • 有些东西不支持多线程编译,会报错,如果多线编译报错.

wpa_supplicant的移植的更多相关文章

  1. wpa_supplicant_8_ti hostapd wpa_supplicant TI 官方的wpa_supplicant hostapd 移植到linux

    在移植 wpa_supplicant_8_ti 的时候碰到很多头文件找不到.然后参考了下面的博客 http://blog.csdn.net/penglijiang/article/details/85 ...

  2. 在Ubuntu下编译wpa_supplicant

    最近在研究WiFi联盟的多屏互动协议Miracast,其中需要用到wpa_supplicant,编译中遇到了一些问题,经过一下午的折腾也都解决了,下面分享给各位. 一.编译需要用到三个库源码包,分别是 ...

  3. wpa_supplicant使用笔记

    还在搞8634,看不到头了..唉.wireless_tools的缺点是不支持WPA认证,所以有必要把wpa_supplicant也移植过来.无线 网卡是基于zydas芯片的,正好可以在网上搜到wpa_ ...

  4. wpa_supplicant使用笔记-wpa_cli iwconfig

    还在搞8634,看不到头了..唉.wireless_tools的缺点是不支持WPA认证,所以有必要把wpa_supplicant也移植过来.无线 网卡是基于zydas芯片的,正好可以在网上搜到wpa_ ...

  5. wpa_supplicant介绍【转】

    本文转载自:https://zhuanlan.zhihu.com/p/24246712 一.什么是wpa_spplicant wpa_supplicant本是开源项目源码,被谷歌修改后加入Androi ...

  6. wifi配置常用命令总结

    1:iwlist eth1 scanning 查看无线路由 2:iwconfig eth1 essid "无线路由的名称" 3: ifconfig eth1 IP 4: route ...

  7. 基于TQ2440开发板的WiFi模块的使用经验总结

    一.软.硬件资源准备: 内核版本:linux-2.6.30.4 交叉编译器版本:4.3.3 wpa_supplicant工具:wpa_supplicant-0.7.3.tar ; openssl-0. ...

  8. wpa_supplicant移植

    移植openssl-0.9.8za cp ../wpa_supplicant-2.5/patches/openssl-0.9.8za-tls-extensions.patch .patch -p1 & ...

  9. wpa_supplicant 移植及 linux 命令行模式配置无线上网

    本文涉及内容为linux 命令行模式配置无线上网 及 wpa_supplicant 移植到开发板的过程,仅供参考. 1.源码下载 wpa_supplicant 源码下载地址 :http://hosta ...

随机推荐

  1. The reference to entity "characterEncoding" must end with the ';'

    在配置数据库连接池数据源时,本来没有错误,结果加上编码转换格式后eclipse突然报错: 这是怎么回事? 经过查询,发现这个错误其实很好解决. 首先,原因是: .xml文件中 ‘ & ’字符需 ...

  2. vue中组件的data为什么是一个函数

    1. 前言 在学习vue的时候,一直纳闷一件事:组件的data数据为什么必须要以函数返回的形式,为什么不是简单的对象形式呢?遂带着问题去翻官方文档,文档中自然也写明了这么做的原因,本篇博文以官方文档给 ...

  3. 『题解』Codeforces220B Little Elephant and Array

    更好的阅读体验 Portal Portal1: Codeforces Portal2: Luogu Description The Little Elephant loves playing with ...

  4. 『题解』洛谷P5015 标题统计

    题意描述 给你一个字符串,求所有字符的总数. 字符只包含数字,大小写字母. 分析 字符串的长度还是\(\le5\)的. 直接枚举就可以了. AC代码: NOIP官方标准程序是这样的 #include ...

  5. VM 使用问题 | 安装失败->>注册表

    下午乌龙了一回,本来就知道注册表都卸载的乱乱的 以为安装上即可,越弄越糊涂 无法安装.... 查了注册表,发现那些都删除了 手动安装实在太过麻烦,弄了一早上. 如图:未能解决 ​ ​ ​ 后使用了清洁 ...

  6. Java性能分析神器--VisualVM Launcher[1]

    Java性能分析神器1--VisualVM Launcher VisualVM 当你日复一日敲代码的时候,当你把各种各样的框架集成到一起的时候,看着大功告成成功运行的日志,有没有那么一丝丝迷茫和惆怅: ...

  7. uboot启动完成,kernel启动时lcd屏幕出现杂色解决办法

    先说说开发环境吧: 1 内核:linux2.6.xx 2 uboot:买开发板带的 注释:在最后我又添加了问题得到完美解决的办法. 问题:uboot启动完成,kernel启动时lcd屏幕出现杂色(比如 ...

  8. css3 preserve-3d 的理解 注意IOS上的兼容

    css3 preserve-3d 的理解 <pre><!DOCTYPE html><html lang="en"> <head> & ...

  9. java面试题-Java集合相关

    1. ArrayList 和 Vector 的区别 ArrayList和Vector底层实现原理都是一样得,都是使用数组方式存储数据 Vector是线程安全的,但是性能比ArrayList要低. Ar ...

  10. java 中的 shuffle()用于打乱list中的元素

    题目描述: 数组里面有{1, 2, 3, 4, 5, 6, 7, 8, 9, 10},请随机打乱顺序生成新的数组: import java.util.ArrayList; import java.ut ...