在Android NDK 开发中,编译选项配置能够帮助我们很好的使用NDK/C/C++的特性,这些编译选项中那个包括:APP_ABI,LOCAL_LDLIBS, LOCAL_CFLAGS, APP_STL ...等,下面是这些选项中的一些配置.
选项概述
(一) Android.mk
选项 | 解释 |
---|---|
LOCAL_MODULE | 模块名 |
LOCAL_SRC_FILES | 模块依赖的编译源文件 |
LOCAL_STATIC_LIBRARIES | 第三方依赖库(静态.a) |
LOCAL_SHARED_LIBRARIES | 第三方依赖库(动态.so) |
LOCAL_LDLIBS,LOCAL_CFLAGS | 编译/链接选项 |
更多参考官方文档 Android.mk
(二) Application.mk
选项 | 解释 |
---|---|
APP_ABI | 目标平台的ABI类型 |
APP_STL | C++标准库类型, 默认 system |
APP_OPTIM | release/debug |
ABI 全称是: Application binary interface, 应用程序二进制接口,不同的CPU芯片(如:ARM、Intel x86、MIPS)支持不同的ABI架构,常见的ABI类型包括:armeabi,armeabi-v7a,x86,x86_64,mips,mips64,arm64-v8a等。
最新 Android NDK 所支持的ABI类型及区别:
Android NDK 支持的LOCAL_LDLIBS :
(1) Bionic libc 库
(2) Pthread 库(-lpthread)
(3) math 数学库(-lmath)
(4) C++ support library (lstdc++)
添加到“LOCAL_LDLIBS”中的不同版本的Android NDK所支持的库:
Android NDK C++模板支持:
如在Application.mk下