有关android mk文件

来源:互联网 发布:知其不可奈何安之若命 编辑:程序博客网 时间:2024/06/05 21:12

mk文件本身支持多个模块的定义,具体参见samples中的two-libs示例。

LOCAL_PATH:= $(call my-dir)  //  定义当前路径,call my-dir是系统的东东,LOCAL_PATH是宏,代表当前mk文件的位置。可以模块之间共享~

模块的定义

逻辑上分为三部分(这种分类不一定准确):

1. 模块头定义:

include $(CLEAR_VARS) // 定义每个模块必须写的~

LOCAL_MODULE  := module_name  // 定义模块的名称


2. 模块内容定义

LOCAL_C_INCLUDES :=  定义include的目录

LOCAL_SRC_FILES := 定义源文件的目录,可以使用LOCAL_PATH设定相对目录

LOCAL_LDLIBS := -L$(SYSROOT)/usr/lib -llog  //   网上查资料 这么做是为了开启log机制,

LOCAL_CFLAGS  := 定义一系列宏。

LOCAL_STATIC_LIBRARIES := 添加第三方库,注意后面添加的必须是本文件中其他模块 预编译出来的包。

ndk如何使用第三方库,参考这篇blog:http://blog.csdn.net/wjr2012/article/details/6887559


3 . 模块尾定义:

include $(BUILD_STATIC_LIBRARY)表示编译成静态库
include $(BUILD_SHARED_LIBRARY)表示编译成动态库。
include $(BUILD_EXECUTABLE)表示编译成可执行程序

include $(PREBUILT_STATIC_LIBRARY)  // 预编译生成静态包,使用第三方库时用到


参考:http://www.cnblogs.com/hesiming/archive/2011/03/15/1984444.html



原创粉丝点击