LOCAL_CFLAGS、LOCAL_CPPFLAGS和LOCAL_LDFLAGS(编译、链接标志) LOCAL_CFLAGS定义的是在编译C/C++时,传递给编译器的标志集合,LOCAL_CPPFLAGS只支持C++,作用也是传递给编译器一些信息,LOCAL_LDFLAGS是指传递给连接器一些额外的参数。 在NDK开发中难免会用到这些标志位,特别是在优化编译时,下面的是本人在开发中遇到的编...
LOCAL_CFLAGS、LOCAL_CPPFLAGS和LOCAL_LDFLAGS(编译、链接标志) LOCAL_CFLAGS定义的是在编译C/C++时,传递给编译器的标志集合,LOCAL_CPPFLAGS只支持C++,作用也是传递给编译器一些信息,LOCAL_LDFLAGS是指传递给连接器一些额外的参数。 在NDK开发中难免会用到这些标志位,特别是在优化编译时,下面的是本人在开发中遇到的编...
LOCAL_LDFLAGS += -L$(LOCAL_PATH)/lib/ -lHWrecog –EB{EL} –O{n} … 或者直接加上绝对路径库的全名: LOCAL_LDFLAGS += $(LOCAL_PATH)/lib/libHWrecog.a –EB{EL} –O{n} LOCAL_FORCE_STATIC_EXECUTABLE:如果编译时候需要链接的动态库库存在静态库形式,那么在这个编译变量等于true的情况下,将会链接...
LOCAL_LDFLAGS += -O3 -flto -Wl,--gc-sections -Wl,--version-script=${LOCAL_PATH}/version_script.txt #version_script.txt 与当前 Android.mk 同目录 其中version_script.txt较为通用的配置如下,可根据实际情况添加需要保留的导出符号: { global:JNI_OnLoad;JNI_OnUnload;Java_*; local:*; }; 说明:v...
LOCAL_LDFLAGS LOCAL_FORCE_STATIC_EXECUTABLE 这些LOCAL_开头的变量都是模块编译内的局部变量,因为通常在Android.mk开头都要包含: LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) 这两句,特别是include $(CLEAR_VARS)这个会清除上一个模块编译时候留下的所有LOCAL_变量,以准备给当前模块使用。
LOCAL_PATH为模块描述变量,一个Android.mk必须定义LOCAL_PATH,用于定位源文件,在本例中,使用的是编译系统提供的宏“my-dir”(“my-dir”返回最近一次包括Makefile文件路径,通常为当前Android.mk所在目录),用于返回当前目录。 此变量不会被CLEAR_VARS清除,所以每个Android.mk文件只需要定义一次就可以了。
LOCAL_LDFLAGS += -Wl,--exclude-libs,ALL 协助编译器移除未使用函数和变量 我们通过增加编译选项,可让编译器回收未使用的代码段和数据段,如下: 1,指定分段选项,此举会让编译器在编译目标文件或静态库时,将单函数和单变量放入单个独立的段。 ffunction-sections ...
7 LOCAL_LDFLAGS:= \ $(LOCAL_PATH)/libs/$(TARGET_ARCH_ABI)/libfreetype.a1、解释LOCAL_LDFLAGS中文:用来加载用户自己的静态库(.a文件)2、解释TARGET_ARCH_ABI中文:当前的cpu/abi的类型,在链接不同类型的CPU_ABI时非常有用,如下图 8 $(call import-add-path,$(LOCAL_PATH)/...
make构建工具 -f \<ndk目录\>/build/core/build-local.mk \<参数\> 命令行调用: 在构建目录下运行ndk-build脚本 ndk-build可选参数参考网页: ndk-build构建工具需要使用:Android.mk和Application.mk Android.mk构建规则脚本 参考网页 该脚本定义构建规则和构建目标,是构建静态库,动态库,还是构建可执行文件. ...
LOCAL_LDFLAGS += -Wl,--exclude-libs,ALL#使所有静态库中的符号都不被导出LOCAL_LDFLAGS += -Wl,--exclude-libs,libabc.a#使 libabc.a 的符号都不被导出 使用version script 控制符号可见性 version script 是传递给链接器的参数,用来指定动态库导出哪些符号以及符号的版本。该参数会影响到上面“so 文件格式...