有readme先看看readme看看有没有编译的方法

里面告诉我们安装时可能会依赖某些库事实证明会依赖openssl库,之前也使用过openssl

这个文件中有个defualtconfig,先用它做.config

这里面没有configure,那么直接修改makefile

CC=arm-linux-gcc

接下来make,发现出错,看提示应该是缺少openssl库。这个库以前也用过,一个加密库,就是抓包后看不到包里面的内容

Shell命令:make > log.txt 2>&1

0:表示stdin标准输入

1:表示stdout标准输出

2:表示stderr标准错误

这句话把标准错误重定向到标准输出

发现第一条出错的命令是../src/crypto/tls_openssl.c:17:25: warning: openssl/ssl.h: No such file or directory

看来需要编译它的依赖openssl了

进入这个目录发现openssl有Configure文件,用通用公式发现并不能执行过

Configure –help可以看到这个configure支持的选项,发现os/compiler[:flags]这个好像是选择交叉编译的平台的

./Configure os/compiler:arm-linux-gcc  可以通过

进行make发现竟然编译成功了,没有bug真是出乎意料了

接下来进行安装

make INSTALL_PREFIX=${PWD}/TMP

安装结束后去tmp目录看了下,发现并没有生成动态库,应该是配置的命令还得再改一改

./Configure shared --prefix=$PWD/tmp os/compiler:arm-linux-gcc

最后会出现

You gave the option 'shared'.  Normally, that would give you shared libraries.

Unfortunately, the OpenSSL configuration doesn't include shared library support

for this platform yet, so it will pretend you gave the option 'no-shared'.  If

you can inform the developpers (openssl-dev\@openssl.org) how to support shared

libraries on this platform, they will at least look at it and try their best

(but please first make sure you have tried with a current version of OpenSSL).

这句话说share这个命令会编译出动态库,但是在arm-linux-平台还不支持这个选项

用当前目录下的./config,不指定平台试试,配置后修改Makefile

./config shared --prefix=$PWD/tmp

修改Makefile后出现错误

x86cpuid.s: Assembler messages:

x86cpuid.s:4: Error: unrecognized symbol type ""

x86cpuid.s:5: Error: alignment too large: 15 assumed

我们是要应用在嵌入式平台上,为什么会有x86呢?再去看看配置选项no-asm(这个选项是为了x86平台优化而存在的)

然后更改Makefile,make;make install;

将include和lic拷贝到交叉编译链的目录中去

解决了依赖库的问题 回去执行make,但是make还是有错误

/usr/local/arm/4.3.2/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.2/../../../../arm-none-linux-gnueabi/bin/ld: cannot find –lnl

找不到这个链接的库文件,其实在刚刚编译好的libnl-3.so

grep "lnl" * -nR

找到文件的位置

ifdef CONFIG_LIBNL32

DRV_LIBS += -lnl-3

DRV_LIBS += -lnl-genl-3

DRV_CFLAGS += -DCONFIG_LIBNL20 -I/usr/include/libnl3

Else

文件中说如果定义了这个东西,那么就会引用这个库,所以修改.config中将这个值设置为y

make

make install

就可以在定义好的安装目录下看到应用程序了

嵌入式linux下wifi网卡的使用(四)——应用程序sub_supplicant编译的更多相关文章

  1. 嵌入式linux下wifi网卡的使用(二)——应用程序iw编译

    首先编译iw,Iw支持两种加密/认证方式.第一种是OPEN/OPEN 第二种是WEP/WEP在网上下载iw源码,发现iw的编译需要依赖libnl库(这个库是为了方便应用程序使用netlink借口而开发 ...

  2. Linux 下wifi 驱动开发(四)—— USB接口WiFi驱动浅析

    源: Linux 下wifi 驱动开发(四)—— USB接口WiFi驱动浅析

  3. Linux下双网卡绑定(bonding技术)

    Linux网卡绑定探析   2013-08-20 15:39:31 现在很多服务器都自带双千兆网口,利用网卡绑定既能增加网络带宽,同时又能做相应的冗余,目前应用于很多的场景.linux操作系统下自带的 ...

  4. kali Linux下wifi密码安全测试(1)虚拟机下usb无线网卡的挂载 【转】

    转自:http://blog.chinaunix.net/uid-26349264-id-4455634.html 目录 kali Linux下wifi密码安全测试(1)虚拟机下usb无线网卡的挂载 ...

  5. linux下一个网卡配置多个ip【虚拟ip】

    Linux下配置网卡ip别名何谓ip别名?用windows的话说,就是为一个网卡配置多个ip.什么场合增加ip别名能派上用场?布网需要.多ip访问测试.特定软件对多ip的需要...and so on. ...

  6. 转: 嵌入式linux下usb驱动开发方法--看完少走弯路【转】

    转自:http://blog.csdn.net/jimmy_1986/article/details/5838297 嵌入式linux下的usb属于所有驱动中相当复杂的一个子系统,要想将她彻底征服,至 ...

  7. 嵌入式 Linux下永久生效环境变量bashrc

    嵌入式 Linux下永久生效环境变量bashrc 1) .bashrc文件 在linux系统普通用户目录(cd /home/xxx)或root用户目录(cd /root)下,用指令ls -al可以看到 ...

  8. Linux下多网卡同网段多IP网络分流设定方法

    Linux下多网卡同网段多IP网络分流设定方法 -- :: 标签:Linux下多网卡同网段多IP网络分流设定方法 当服务器需要较高的网络流量时,在其它资源不造成瓶颈的情况下无疑会用到多网卡. 第1选项 ...

  9. Linux下设置网卡静态ip

    Linux下设置网卡静态ip 如果是服务器版,没有图形界面只用用命令行修改配置文件 如果是客户端版本,可以用图形界面 配置的前提是要在root用户下才能重启网卡服务 图形界面: system-conf ...

随机推荐

  1. Linux 进程间通信(包含一个经典的生产者消费者实例代码)

    前言:编写多进程程序时,有时不可避免的需要在多个进程之间传递数据,我们知道,进程的用户的地址空间是独立,父进程中对数据的修改并不会反映到子进程中,但内核是共享的,大多数进程间通信方式都是在内核中建立一 ...

  2. java的热部署和热加载

    ps:热部署和热加载其实是两个类似但不同的概念,之前理解不深,so,这篇文章重构了下. 一.热部署与热加载 在应用运行的时升级软件,无需重新启动的方式有两种,热部署和热加载. 对于Java应用程序来说 ...

  3. C language 模拟 win的经典游戏——扫雷

    让我们在terminal下愉快的...扫雷 昨天跟奇葩霖聊起"雷区"这个敏感词汇,然后非常荣幸的... 应该轰炸不到我.. . 后来百无聊赖的去玩了把扫雷.然后发现我之前都是乱扫的 ...

  4. 编译器 STVD 与 IAR 的差别 个人体验

    编译器 STVD 与 IAR 的一些差别,这些事个人的体验,欢迎扔砖和指点或者补充. 1:全局查找功能: STVD:全局查找功能全局查找功能比較麻烦.有3个动作. IAR:有全局查找功能比較方便.仅仅 ...

  5. (转)java内部类详解

    本文转自http://www.cnblogs.com/dolphin0520/p/3811445.html,谢谢作者 说起内部类这个词,想必很多人都不陌生,但是又会觉得不熟悉.原因是平时编写代码时可能 ...

  6. (转)Maven依赖的jar包下载不了、jar更新不了的解决办法

    场景一: 使用Maven的同学可能偶尔会遇到这种情况:pom.xml中依赖了项目需要的某个jar文件,但是使用Maven –> update project 还是没办法下载该jar到项目中,你可 ...

  7. IDEA使用有道翻译插件

    使用IDEA编写代码或者查看源码的时候有时候需要使用的翻译功能,虽然已经有繁多的翻译服务提供了桌面版的软件,但是并不大适合使用在阅读或者编写代码这个场景.IDEA丰富的插件库为我们提供了一些翻译插件, ...

  8. 图片Ping

    前面的话 在CORS出现以前,要实现跨域Ajax通信颇费一些周折.开发人员想出了一些办法,利用DOM中能够执行跨域清求的功能,在不依赖XHR对象的情况下也能发送某种请求.虽然CORS技术已经无处不在, ...

  9. Swift tableview自带的刷新控件

    import UIKit class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource { let ...

  10. Mybatis-Oralce批量插入方法

    mybatis-Oralce 中批量插入方法一:<insert id="insertBatchSelective" parameterType="java.util ...