一、准备工作
1、交叉编译工具
下载/生成android ndk,我使用的是android-ndk-r12b,平台支持从android-9到android-24
二、编译过程
1、指定编译工具链
CC_HOME=/home/waitor/tool/android-ndk-r12b
BIN_PATH=$(CC_HOME)/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin
CC=${BIN_PATH}/aarch64-linux-android-gcc
CXX=${BIN_PATH}/aarch64-linux-android-g++
AS=${BIN_PATH}/aarch64-linux-android-as
2、汇编选项
CFLAGS=-O3 -Wall -I ${CC_HOME}/toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/lib/gcc/aarch64-linux-android/4.9.x/include -I ${CC_HOME}/sources/cxx-stl/system/include -I ${CC_HOME}/sources/cxx-stl/stlport/stlport --sysroot=${NDK_HOME}/platforms/android-21/arch-arm64
注:由于从android-21才开始支持arm64,所以低版本有可能不兼容。
3、链接选项
LFLAGS=--sysroot=${NDK_HOME}/platforms/android-21/arch