LOCAL_SHARED_LIBRARIES 与 LOCAL_LDLIBS,LOCAL_LDFLAGS的区别
2015-12-25 10:50
337 查看
http://blog.sina.com.cn/s/blog_5da93c8f0102vdpc.html
LOCAL_LDLIBS :链接的库不产生依赖关系,一般用于不需要重新编译的库,如库不存在,则会报错找不到。且貌似只能链接那些存在于系统目录下本模块需要连接的库。如果某一个库既有动态库又有静态库,那么在默认情况下是链接的动态库而非静态库。
如:LOCAL_LDLIBS += -lm –lz –lc -lcutils –lutils –llog …
如果你的Android.mk文件中只有这么一行,那么将会采用动态链接。
LOCAL_SHARED_LIBRARIES 会生成依赖关系,当库不存在时会去编译这个库。
LOCAL_LDFLAGS:这个编译变量传递给链接器一个一些额外的参数,比如想传递给外面的库和库路径给ld,或者传递给ld linker的一些链接参数,-On,-EL{B}(大小端字节序),那么就要加到这个上面,如:
LOCAL_LDFLAGS += -L$(LOCAL_PATH)/lib/ -lHWrecog –EB{EL} –O{n} …
或者直接加上绝对路径库的全名:
LOCAL_LDFLAGS += $(LOCAL_PATH)/lib/libHWrecog.a –EB{EL} –O{n}
注:如果是非系统的第三方库,貌似只能用LOCAL_LDFLAGS方式,LOCAL_LDLIBS方式不行。
参见:
http://shaobin0604.iteye.com/blog/1170266 http://blog.csdn.net/lizhiguo0532/article/details/7219349
LOCAL_LDLIBS :链接的库不产生依赖关系,一般用于不需要重新编译的库,如库不存在,则会报错找不到。且貌似只能链接那些存在于系统目录下本模块需要连接的库。如果某一个库既有动态库又有静态库,那么在默认情况下是链接的动态库而非静态库。
如:LOCAL_LDLIBS += -lm –lz –lc -lcutils –lutils –llog …
如果你的Android.mk文件中只有这么一行,那么将会采用动态链接。
LOCAL_SHARED_LIBRARIES 会生成依赖关系,当库不存在时会去编译这个库。
LOCAL_LDFLAGS:这个编译变量传递给链接器一个一些额外的参数,比如想传递给外面的库和库路径给ld,或者传递给ld linker的一些链接参数,-On,-EL{B}(大小端字节序),那么就要加到这个上面,如:
LOCAL_LDFLAGS += -L$(LOCAL_PATH)/lib/ -lHWrecog –EB{EL} –O{n} …
或者直接加上绝对路径库的全名:
LOCAL_LDFLAGS += $(LOCAL_PATH)/lib/libHWrecog.a –EB{EL} –O{n}
注:如果是非系统的第三方库,貌似只能用LOCAL_LDFLAGS方式,LOCAL_LDLIBS方式不行。
参见:
http://shaobin0604.iteye.com/blog/1170266 http://blog.csdn.net/lizhiguo0532/article/details/7219349
相关文章推荐
- booleanQuery 逻辑
- 【LEETCODE】112-Path Sum
- POJ 1330 Nearest Common Ancestors(Tarjan离线LCA)
- jndi
- Enterprise Library 企业库
- oracle 10g 创建db_link
- 让Git忽略SSL证书
- pureftp(file transfer protocol) vsftp
- android使用动态链接库
- time_t tm timeval 和 时间字符串的转换
- 141,整数类型
- mysql分页原理和高效率的mysql分页查询语句
- ubuntu系统AndroidStudio修改内存大小
- ubuntu系统AndroidStudio修改内存大小
- 华为0基础——合唱队
- 软件工程课程的建议
- 工作环境配置纪录
- TinyPNG---一个压缩PNG的神站
- Android编译系统参考手册
- java.util.MissingResourceException: Can't find resource for bundle java.util.PropertyResourceBundle,