当前位置: 首页 > news >正文

交叉编译hostop

说明

主要参考这个:

https://blog.csdn.net/Turix/article/details/120993636

准备

编译之前可能需要安装以下软件包:

sudo apt install pkg-config bison flex 

步骤总览

hostap的编译依赖openssl和libnl,因此在编译hostap之前需要首先交叉编译这两个库。

下载

libss源码下载地址:https://www.openssl.org/source/。当前使用openssl-1.1.1V。
其实基本上都是转到了GitHub上的仓库下载了。

libnl提供应用层和驱动之间的IPC通信机制。
libnl源码下载地址:http://www.linuxfromscratch.org/blfs/view/svn/basicnet/libnl.html。当前使用libnl-3.5.0。

hostapd源码下载地址:Index of wpa_supplicant releases。当前使用hostapd2.9

alt text

编译

设置环境变量:

export PATH=/home/hech/opt/imx6ul/gcc-linaro-arm-linux-gnueabihf-4.7-2012.12-20121214_linux/bin:$PATH

openssl

解压源码包,在其目录下执行:

mkdir _install
./config no-asm no-shared no-async --prefix=$PWD/_install --cross-compile-prefix=arm-linux-gnueabihf-

打开Makefile,搜索并删除“-m64”字段(用来优化64位的),保存并退出。而后执行:

make CC=arm-linux-gnueabihf-gcc
make install

tips:
-m64 用于指定生成 64 位代码。这意味着编译器会生成适合 64 位架构的指令,并针对 64 位处理器进行优化。

alt text

libnl

解压源码包,在其目录下执行:

mkdir _install
./configure --host=arm-linux-gnueabihf --prefix=$PWD/_install --enable-static CC=arm-linux-gnueabihf-gcc LD=arm-linux-gnueabihf-ld (--enable-static 当时没加)
make
make install

以上两个编译成功之后:

hostapd-2.9

解压源码包,进入 hostapd-2.9/hostapd 目录下执行:

mkdir _install
cp defconfig .config

修改 Makefile(/home/yangx/myfile/hostapd-2.9/hostapd/) 文件,添加交叉编译的libssl和libnl路径(路径需要根据库的实际位置进行修改):

CFLAGS += -I/home/yangx/myfile/openssl-1.1.1v/_install/include
LIBS   += -L/home/yangx/myfile/openssl-1.1.1v/_install/lib
CFLAGS += -I/home/yangx/myfile/libnl-3.5.0/_install/include
LIBS   += -L/home/yangx/myfile/libnl-3.5.0/_install/lib
LIBS   += -pthread -ldl

编译安装:

make CC=arm-linux-gnueabihf-gcc
make install DESTDIR=$PWD/_install/
http://www.jsqmd.com/news/52727/

相关文章:

  • 2025年十大深圳AI搜索优化公司服务推荐,靠谱售后完善的A
  • 2025年专业级机械制造厂家全解析——广东机械制造厂家
  • Qt private public protected slots的区别
  • WebRTC项目架构详解 - 指南
  • 翻转课堂 2st 解惑
  • 2025年度专业AI搜索优化公司排名:国内第一AI搜索优化公
  • 2025电磁阀制造企业TOP5权威推荐:助力企业快速定制降本
  • Ai元人文构想:外行人的新思路——能否推动学术界对价值对齐的集体认知革新?
  • EF Core 深入学习
  • Unit 4 Intensive Listening 2
  • 深入解析:51单片机基础-IO扩展(并转串 74HC165)
  • 实用指南:如何在 React 中实现键盘快捷键管理器以提升用户体验
  • 2025年十大GEO源头厂家口碑排行榜,南方网通GEO源头厂
  • 无线讲解器品牌TOP5权威推荐:哪个品牌适合导游使用、耐用性
  • 2025年五大靠谱纸桶包装设备制造商推荐,专业纸桶包装设备厂
  • .Net中WebApiController如何实现多版本兼容?
  • 2025年在线客服系统深度评测:五款主流产品全方位对比
  • 写题-2025.11
  • 修正开源控件kcontrols不能在linux使用中文输入法的bug
  • 【转载】Qt 路径中常用字符“./”、“../”、“/”、“*”的含义
  • 完整教程:掌握3D手部关键点检测:PyTorch深度学习实战
  • 2025年中国AI智能办公鼠标十大品牌推荐:鸿容AI智能办公
  • Git 安装流程
  • 2025安全环保充电器外壳厂家TOP5权威推荐:环保认证US
  • 【转载】Qt 断言Q_ASSERT的使用
  • 2025年修补防水涂料推荐厂家及其市场分析
  • 连续状态方程Tustin离散化处理 - 实践
  • 2025年北京、上海、深圳协议离婚律师推荐排行榜:哪个好?哪个靠谱?选哪个?
  • Shell脚本实战:15个提高工作效率的自动化脚本
  • 【转载】Qt 多次connect的坑