交叉编译(hostapd)

交叉编译的几个步骤

1.目标系统的toolchain

2.设置CC环境变量,或者直接修改Makefile,有些开源软件需要执行 ./configure生成Makefile

3.CFLAGS指定编译所需要的C库头文件、依赖库头文件位置

4.LIBS指定依赖库位置

1,安装GCC

解压厂家提供的toolchain

1.1 设置环境变量

export PATH=$PATH:/opt/loongson-gnu-toolchain-8.3.2k1000la-x86_64-loongarch64-linux-gnu-rc1.1a/bin

2,编译依赖库

2.1 libnl

libnl - Netlink Protocol Library Suite

uisrc@ubuntu:~/uisrc-lab-loongarch/app$ cd libnl-3.2.25/
uisrc@ubuntu:~/uisrc-lab-loongarch/app/libnl-3.2.25$ ls
aclocal.m4  ChangeLog  configure.ac  etc      lib              libnl-cli-3.0.pc.in   libnl-nf-3.0.pc.in     libnl.sym.in  Makefile.am  man     src
build-aux   configure  COPYING       include  libnl-3.0.pc.in  libnl-genl-3.0.pc.in  libnl-route-3.0.pc.in  m4            Makefile.in  python  tests
uisrc@ubuntu:~/uisrc-lab-loongarch/app/libnl-3.2.25$ 
./configure CC=/opt/loongson-gnu-toolchain-8.3.2k1000la-x86_64-loongarch64-linux-gnu-rc1.1a/bin/loongarch64-linux-gnu-gcc --host=loongarch64-unknown-linux-gnu CFLAGS=-I/usr/include/libnl3
 
make

2.2 openssl

[ Downloads ] - /source/index.html

export CC=/opt/loongson-gnu-toolchain-8.3.2k1000la-x86_64-loongarch64-linux-gnu-rc1.1a/bin/loongarch64-linux-gnu-gcc

./config no-asm --prefix=/home/uisrc/uisrc-lab-loongarch/app/openssl-3.0.13/usr

make

3 编译hostapd

cp defconfig .config

CONFIG_LIBNL20=y

修改Makefile

CC=/opt/loongson-gnu-toolchain-8.3.2k1000la-x86_64-loongarch64-linux-gnu-rc1.1a/bin/loongarch64-linux-gnu-gcc

#指定依赖库头文件所在的位置

CFLAGS += -I$(APP_PATH)/libnl-3.2.25/include -I$(APP_PATH)/openssl-3.0.13/include

#C库的头文件最好也用toolchain中的头文件,如果有些厂商的toolchain中不包含头文件,可以自己下载相同版本的头文件

CFLAGS += -I/opt/loongson-gnu-toolchain-8.3.2k1000la-x86_64-loongarch64-linux-gnu-rc1.1a/sysroot/usr/include

#指定依赖库所在的位置

LIBS += -L$(APP_PATH)/libnl-3.2.25/lib/.libs -lnl -lnl-genl-3 -L$(APP_PATH)/openssl-3.0.13/

4.运行

export LD_LIBRARY_PATH=/usr/lib

./hostapd -B ./hostapd.conf

5.报错

实时过程中会遇到有些函数链接不到的问题,这些函数调用的是第三方库,这时候可以用nm命令检查生成后的库中是否有该函数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值