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

这个是对去年十月份,使用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模块。

你可能感兴趣的:(android-ndk-r17b-darwin-x86_64 MAC环境下编译apr)