我是开发Android应用程序本机代码的新手。 实际上我要为Android测试一些原生的OpenCV样本。我正在使用Eclipse。我在编译人脸检测示例时发现了一些错误。 我可以通过this tutorial
来纠正大部分错误并且
控制台结果是库.so被正确构建,如下所示:
[armeabi-v7a]安装:libdetection_based_tracker.so => libs / armeabi-v7a / libdetection_based_tracker.so [armeabi-v7a]安装
:libnative_camera_r2.2.0.so => libs / armeabi-v7a / libnative_camera_r2.2.0.so [armeabi-v7a]安装
:libnative_camera_r2.3.3.so => libs / armeabi-v7a / libnative_camera_r2.3.3.so [armeabi-v7a]安装
:libnative_camera_r3.0.1.so => libs / armeabi-v7a / libnative_camera_r3.0.1.so [armeabi-v7a]安装
:libnative_camera_r4.0.0.so => libs / armeabi-v7a / libnative_camera_r4.0.0.so [armeabi-v7a]安装
:libnative_camera_r4.0.3.so => libs / armeabi-v7a / libnative_camera_r4.0.3.so [armeabi-v7a]安装
:libnative_camera_r4.1.1.so => libs / armeabi-v7a / libnative_camera_r4.1.1.so [armeabi-v7a]安装
:libnative_camera_r4.2.0.so => libs / armeabi-v7a / libnative_camera_r4.2.0.so [armeabi-v7a]安装
:libopencv_java.so =>库/ armeabi-V7A / libopencv_java.so
但是在运行应用程序时,jni文件中出现了一个语法错误:« DetectionBasedTracker_jni.cpp »
,在两个地方:
1- result =(jlong)new DetectionBasedTracker(stdFileName,DetectorParams);
错误= type 'DetectionBasedTracker'could not be resolved
2-((DetectionBasedTracker *)thiz) - > getObjects(RectFaces);
错误:Invalide arguments 'Candidates are : void getObjects(?&)'
请参阅附件图片
我不明白为什么我会收到这些错误,因为我从未接触过原始代码? 有没有想过纠正这些错误?
答案 0 :(得分:1)
您的项目中缺少DetectionBasedTracker_jni.h。它包含在一般,我不知道你为什么没有它。它可能会导致您的错误,但它只是一个提示。
timurDroid
在Eclipse中,我总是喜欢这个错误,但在关闭cpp文件之后 重启IDE Eclipse,Apllication成功运行。不知道,为什么呢..
我相信您所谈论的异常可能是一个不同的问题,因为在这种情况下,您有很多包含could not be resolved
的错误消息,如果您只有那个(少数,不是全部),请更正我。对我来说,如果我打开这些jni文件“一切都无法解决”,因为(我只是猜测)预构建 - 链接日食错误问题。
答案 1 :(得分:-1)
最后!!。我通过重新创建一个新项目解决了这个问题,然后将src文件导入。 现在它工作了!