WEB开发网
开发学院手机开发Android 开发 Android.mk 文件语法规范 阅读

Android.mk 文件语法规范

 2010-07-20 13:26:00 来源:WEB开发网   
核心提示:(7) LOCAL_CXXFLAGS: Same as LOCAL_CFLAGS for C++ source files(8) LOCAL_CPPFLAGS: 与LOCAL_CFLAGS相同,但是对C 和C++ source files都适用,Android.mk 文件语法规范(5),(9) LOCAL_STATIC

(7) LOCAL_CXXFLAGS: Same as LOCAL_CFLAGS for C++ source files

(8) LOCAL_CPPFLAGS: 与LOCAL_CFLAGS相同,但是对C 和C++ source files都适用。

(9) LOCAL_STATIC_LIBRARIES: 应该链接到这个模块的静态库列表(使用BUILD_STATIC_LIBRARY生成),这仅仅对共享库模块才有意义。

(10) LOCAL_SHARED_LIBRARIES: 这个模块在运行时要依赖的共享库模块列表,在链接时需要,在生成文件时嵌入的相应的信息。注意:这不会附加列出的模块到编译图,也就是,你仍然需要在 Application.mk中把它们添加到程序要求的模块中。

(11) LOCAL_LDLIBS: 编译你的模块要使用的附加的链接器选项。这对于使用”-l”前缀传递指定库的名字是有用的。例如,下面将告诉链接器生成的模块要在加载时刻链接到 /system/lib/libz.so

LOCAL_LDLIBS := -lz

看docs/STABLE-APIS.TXT获取你使用 NDK发行版能链接到的开放的系统库列表。

(13) LOCAL_ALLOW_UNDEFINED_SYMBOLS: 默认情况下,在试图编译一个共享库时,任何未定义的引用将导致一个“未定义的符号”错误。这对于在你的源代码文件中捕捉错误会有很大的帮助。然而,如果你因为某些原因,需要不启动这项检查,把这个变量设为‘true’。注意相应的共享库可能在运行时加载失败。(这个一般尽量不要去设为true)

(14) LOCAL_ARM_MODE: 默认情况下,arm目标二进制会以thumb的形式生成(16位),你可以通过设置这个变量为arm如果你希望你的module是以32位指令的形式。

'arm' (32-bit instructions) mode. E.g.:

(15) LOCAL_ARM_MODE := arm 注意你同样可以在编译的时候告诉系统编译特定的类型,比如

(16) LOCAL_SRC_FILES := foo.c bar.c.arm 这样就告诉系统总是将bar.c以arm的模式编译,下面是GNU Make‘功能’宏,必须通过使用'$(call )'来求值,他们返回文本化的信息。

(17) my-dir: 返回当前Android.mk所在的目录路径,相对于NDK编译系统的顶层。这是有用的,在Android.mk文件的开头如此定义:

LOCAL_PATH := $(call my-dir)

(18) all-subdir-makefiles: 返回一个位于当前'my-dir'路径的子目录列表。例如,看下面的目录层次:

sources/foo/Android.mk

sources/foo/lib1/Android.mk

上一页  1 2 3 4 5 6 7  下一页

Tags:Android mk 文件

编辑录入:coldstar [复制链接] [打 印]
赞助商链接