Android.mk中LOCAL_SHARED_LIBRARIES和LOCAL_LDLIBS的区别

对比Linux开发,Android开发让我注意到了一些在Linux开发中认为理所当然的知识。这次遇到了一个链接库的问题。

代码中加入了log打印,编译时出现__android_log_print找不到的问题,需要链接库,网上搜了搜需要链接libutils、libcutils。

于是在Android.mk中加入:LOCAL_LDLIBS :=-lutils -lcutils。编译还是找不到。

继续百度,搜到应该用下面这种方法:

LOCAL_SHARED_LIBRARIES :=  libutils libcutils


LOCAL_SHARED_LIBRARIES: 

表示模块在运行时要依赖的共享库(动态库),在链接时就需要,以便在生成文件时嵌入其相应的信息。

LOCAL_LDLIBS: 

编译模块时要使用的附加的链接器选项。这对于使用‘-l’前缀传递指定库的名字是有用的。

没想到动态库在Android中有两种链接方式。


记下,有机会再研究。

http://blog.sina.com.cn/s/blog_4ad7c2540101beo1.html

你可能感兴趣的:(Android)