博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android.mk 的含义
阅读量:6240 次
发布时间:2019-06-22

本文共 852 字,大约阅读时间需要 2 分钟。

LOCAL_PATH:=$(call my-dir)

 

LOCAL_PATH是定义源文件在哪个目录用的.

 

my-dir 是个定义的宏方法, $(call my-dir)就是调用这个叫 my-dir的宏方法,这个方法返回值就是

Android.mk文件所在的目录

 

include $(CLEAR_VARS)

 

CLEAR_BARS 变量是build system里面的一个变量

这个变量指向了所有的类似 LOCAL_XXX的变量,

执行完这一句话, 这个编译系统就把 所有的类似

LOCAL_MODULE,_SRC_FILELOCALS,LOCAL_STATIC_LIBRARIES,...这样的变量都清除掉

但是不会清除掉 LOCAL_PATH

 

LOCAL_MODULE  就是你要生成的库的名字,名字要是唯一的这个.不能有空格.

编译后系统会自动在前面加上lib的头, 比如说我们的Hello 就编译成了libHello.so

 

还有个特点就是如果你起名叫libHello 编译后ndk就不会给你的module名字前加上lib了

 

但是你最后调用的时候 还是调用Hello这个库

 

 

 

LOCAL_SRC_FILES = :Hello.c

这个是指定你要编译哪些文件

不需要指定头文件 ,引用哪些依赖, 因为编译器会自动找到这些依赖 自动编译

 

 

include $(BUILD_SHARED_LIBRARY)  BUILD_STATIC_LIBRARY

.so

 

编译后生成的库的类型,如果是静态库.a 配置include $(BUILD_STATIC_LIBRARY)

 

 

别的参数

 

LOCAL_CPP_EXTENSION := cc //指定c++文件的扩展名

LOCAL_MODULE    := ndkfoo

LOCAL_SRC_FILES := ndkfoo.cc

 

LOCAL_LDLIBS += -llog -lvmsagent -lmpnet -lmpxml -lH264Android

//指定需要加载一些别的什么库. 

转载地址:http://ajdia.baihongyu.com/

你可能感兴趣的文章
poj2940
查看>>
django做form表单的数据验证
查看>>
【OpenFOAM】——OpenFOAM入门算例学习
查看>>
STL UVA 11991 Easy Problem from Rujia Liu?
查看>>
模拟 URAL 1149 Sinus Dances
查看>>
Oracle 11G 数据库迁移【expdp/impdp】
查看>>
17.EXTJs 中icon 与iconCls的区别及用法!
查看>>
3.mybatis实战教程(mybatis in action)之三:实现数据的增删改查
查看>>
Caused by: Unable to load bean: type: class:com.opensymphony.xwork2.ObjectFactory - bean - jar
查看>>
让你拥有超能力:程序员应该掌握的统计学公式
查看>>
互联网组织的未来:剖析 GitHub 员工的任性之源
查看>>
Java 开源博客 Solo 1.4.0 发布 - 简化
查看>>
Oracle巡检
查看>>
【转载】胜者树
查看>>
查看mysql数据库存放的路径|Linux下查看MySQL的安装路径
查看>>
selenium+testNG+Ant
查看>>
1024程序员节,你屯书了吗?(内含福利)
查看>>
移动端JS 触摸事件基础
查看>>
Flex拖动原来如此简单
查看>>
温故而知新:什么是wcf
查看>>