Opencv for Android实例讲解之三

常见错误收集和解决方案:

1、

运行之后又发生这样的错误:

05-28 15:17:48.662: E/AndroidRuntime(29430): java.lang.UnsatisfiedLinkError: track


后来百度知道结果:

跟随网上的一篇帖子学习Windows操作系统Android开发环境搭建与.SO文件的生成。。。

PS:大概是利用jni+ndk生成.so

一路跟下来,生成了.so文件,在源程序中调用了.so接口,运行,但是出现了 

03-12 06:52:18.175: E/AndroidRuntime(279): java.lang.UnsatisfiedLinkError: intFromJni

百度了很久,也仔细检查了接口名字,还是不行。。

后来暴力了一下,直接查询.so的符号表 ,命令:readelf -s **.so,发现我的接口前边多了_Z47这个前缀,,,

之后百度了一下这个前缀,貌似C++文件的就是这样。这就是导致android上边链接错误的原因,

只要在C++文件的函数前边加上 extern "C"即可。。。

extern "C" jint Java_com_example_myfirstjni_FirstJni_intFromJni

  (JNIEnv * env, jclass jcl);

 之后运行成功! 


2、

关于ndk输出androidLogcat的设置:

a、#include <android/log.h>

b、在Android.mk文件中,添加LOCAL_LDLIBS + =  -llog

c、__android_log_print(ANDROID_LOG_INFO, "scy", "获取的位姿矩阵 %f" , &glMatrix.data[0]);

进行输出,其中scy是关键字,&glMatrix.data[0]是输出的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值