2011-8-13 16:32:05

来源:互联网 发布:bp神经网络算法 公式 编辑:程序博客网 时间:2024/05/01 09:46
 

 


2011-8-13 16:32:05

 

我们继续:

NDK提供的变量:
在您的Android.mk文件被解析之前这些GNU Make变量由编译系统定义,注意,在某些情况下,NDK可能被解析几次,每次以不同的变量的定义解析的

CLEAR_VARS
CLEAR_VARS这个变量由系统提供,功能是清理掉所有以LOCAL_开头的内容,再开始一个新的模块之前,你必须包括这段脚本

include ($CLEAR_VARS)

BUILD_SHARED_LIBRARY

在编译脚本中收集所有以LOCAL_开头的信息并且决定从列出的源代码中编译一个目标共享库。注意,你必须定义了LOCAL_MODULE和LOCAL_SRC_FILES变量,使用它的时候,可以这样定义

include $(BUILD_SHARED_LIBRARY)

注意,我们会生成一个以lib<module_name>.so为名的文件

BUILD_STATIC_LIBRARY

用来构建一个静态库,该静态库将不会被拷贝到你的project/packages下,但是可以被用于动态库
(看下面的LOCAL_STATIC_LIBRARY和LOCAL_WHOLE_STATIC_LIBRARY介绍)

例如:
include $(BUILD_STATIC_LIBRARY)

注意,这将生成一个lib<module_name>.a为名字的模块

PREBUILD_SHARED_LIBRARY
在编译脚本中用于指定一个预先编译的动态库,不像BUILD_SHARED_LIBRARY和BUILD_STATIC_LIBRARY,LOCAL_SRC_FILES的预先共享库必须是一个单独的路径(如:foo/libfoo.so),
而不是源文件。

指定预先编译的动态库

你可以在另一个模块中引用预编译的库(参见docs/pribuilds.html)

PRIBUILD_STATIC_LIBRARY
这个变量类似于PREBUILD_SHARED_LIBRARY,但是是针对静态库的,(详见docs/prebuilds.html)

指定一个预先编译的静态库