$GNUMAKE -f /build/core/build-local.mk
其中$GNUMAKE 指向 GNU Make 3.81 或更新版本。也就是说,使用ndk-build脚本编译c、c++时,最终是使用make工具去编译c和c++代码的。make执行的文件为build-local.mk, 该文件包含了编译c、c++的项目、编译器和编译链接的库等配置信息。
Android 平台提供很小的 C++ 运行时支持库 (libstdc++)。但该库不包括以下支持:
标准 C++ 库支持(几个无关紧要的标头除外)
C++ 异常支持
RTTI 支持
如果你想支持标准 C++ 库支持、C++ 异常支持和RTTI 支持, 可使用以下库,NDK也提供了这些so。要使用这些so库,可在 Application.mk文件中配置(只能为应用选择一个运行时,并且只能在 Application.mk 中选择)例如:
//库名称为下表中的 名称,如gnustl_static
APP_STL := 库名称
名称
说明
功能
libstdc++(默认)
默认最小系统 C++ 运行时库。
不适用
gabi++_static
GAbi++ 运行时(静态)。
C++ 异常和 RTTI
gabi++_shared
GAbi++ 运行时(共享)。
C++ 异常和 RTTI
stlport_static
STLport 运行时(静态)。
C++ 异常和 RTTI;标准库
stlport_shared
STLport 运行时(共享)。
C++ 异常和 RTTI;标准库
gnustl_static
GNU STL(静态)。
C++ 异常和 RTTI;标准库
gnustl_shared
GNU STL(共享)。
C++ 异常和 RTTI;标准库
c++_static
LLVM libc++ 运行时(静态)。
C++ 异常和 RTTI;标准库
c++_shared
LLVM libc++ 运行时(共享)。
C++ 异常和 RTTI;标准库
Android原生库。google NDK原生API文档。Android NDK 提供一组随新的 Android API 版本后续发布而逐渐增加的原生标头和共享库文件。这些库的位置为: