android-ndk-r17b-darwin-x86_64 MAC环境下编译apr

本文详细记录了使用Netty的openssl方式加载gmssl,并在Android环境中通过NDK编译APR的过程。包括下载apr-1.6.5.tar.gz,配置环境变量,修改并执行configure脚本等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个是对去年十月份,使用netty的openssl的方式来加载gmssl过程中apr编译中的过程记录。不保证所有人都可以编译成功。

1.下载apr-1.6.5.tar.gz 可以去官网下载。

2.解压文件

3.根据你的mac的环境以下命令需要变成自己的用户名

export PATH="/Users/baomac/Library/Android/ndk/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin":$PATH
export CC=arm-linux-androideabi-gcc
export CPPFLAGS=-I/Users/baomac/Library/Android/ndk/sysroot/usr/include
export CFLAGS=-I/Users/baomac/Library/Android/ndk/sysroot

4.将我修改的configure文件替换掉目录下的文件。

这一步骤其实由于apr是跨平台的库,需要检测当前的编译环境。但当前环境下是x86_64 mac os与真实运行的arm linux环境不同导致的一些模块不能正常通过configure来检测成功。我做了些修改。

5.执行

./configure --host=arm-linux-androideabi CFLAGS="--sysroot=/Users/baomac/Library/Android/ndk/sysroot  -I/Users/baomac/Library/Android/ndk/sysroot/usr/include -I/Users/baomac/Library/Android/ndk/sysroot/usr/include/arm-linux-androideabi" --cache-file=android.cache -enable-static --prefix=/usr/qlmac1/apache/aprinst ac_cv_file__dev_zero=yes ac_cv_func_setpgrp_void=yes apr_cv_tcp_nodelay_with_cork=yes --disable-dso

该命令也要注意用户名问题

这样就能生成所需要的头文件与代码了。 有了这个就可以写android的makefile文件。用来编译netty_tcnative的ndk的apr模块。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值