android mk编译错误
来源:互联网 发布:java中的静态变量 编辑:程序博客网 时间:2024/06/10 04:31
错误显示:
/home/lsp/workspace/xxx.cpp:104: undefined reference to `nutshell::NMBtDispatcher::NMBtDispatcher(nutshell::NMBtCallback*)'
/home/lsp/workspace/xxx.cpp:105: undefined reference to `nutshell::NMBtDispatcher::init()'
collect2: ld returned 1 exit status
make: *** [out/target/product/obj/EXECUTABLES/aaa_intermediates/LINKED/aaa] Error 1
或
/home/lsp/workspace/prebuilt/toolchains/arm-fsl-linux-gnueabi/4.6.2/bin/../lib/gcc/arm-fsl-linux-gnueabi/4.6.2/../../../../arm-fsl-linux-gnueabi/bin/ld: cannot find -ldispatcher.so
collect2: ld returned 1 exit status
make: *** [out/target/product/obj/EXECUTABLES/aaa_intermediates/LINKED/aaa] Error 1
造成上面错误一个简单的原因是因为缺库或路径,查看.cpp所包含的库和路径后,觉得没问题的话,
下面要检查的就是.cpp文件编译出来的MODELE名。下面解释下LOCAL_MODULE:
LOCAL_MODULE用来给每一个模块定义一个名字,这里的名字会传给NDK编译系统,然后加上lib前缀和.so后缀(例如:变成libhello.so);
但是如果你在定义的过程中,自己加上了lib前缀,则NDK在处理时就不会在加上lib前缀了(这样做是为了兼容Android系统的一些源码)。
那么问题来了,查看你的模块名字是不是没有加lib前缀,如果没有加的话,在NDK编译系统的话会自动加上,而你在其他地方用的时候,
用的是没有加上lib前缀的库,造成库找不到的错误。加上lib前缀在试试,如果再不行,就不知道了。
参考链接:http://blog.csdn.net/smfwuxiao/article/details/8530742
0 0
- android mk编译错误
- .mk编译错误
- Android编译错误:No rule to make target '/Android.mk'
- Android.mk编译apk
- Android.mk编译控制
- Android mk编译OkHttp3
- 编译android.mk
- Android.mk错误
- Android 编译系统 android.mk
- android编译系统 - pathmap.mk
- Android.mk编译APK范例
- android编译系统 - pathmap.mk
- Android.mk编译APK范例
- Android.mk编译APK范例
- Android.mk编译APK范例
- android编译之mk脚本
- Android.mk编译APK范例
- Android.mk编译APK范例
- SetCharacterEncoding等编码问题
- jquery加载页面的方法(页面加载完成就执行)
- StartUML 的使用
- Map集合中value()方法与keySet()、entrySet()有什么区别
- Flask框架中密码的加盐哈希加密和验证功能的用法详解
- android mk编译错误
- dom4j读写XML文档(大全)
- 互联网理财分类
- htc 抓取(VRTK)
- fastjson解析json时报错 class not has default constructor
- 在linux上安装 sql server for linux
- 并查集
- nginx学习
- MySQL查询以及修改表、表字段备注信息