QT Opencv Android应用无法找到符号" _ZN7android6Camera10disconnectEv"

时间:2014-08-29 18:07:55

标签: android qt opencv

创建了一个基于Opencv和QT的应用程序。该代码适用于桌面版本,但Android版本在启动时抛出异常,

dlopen(" /data/app-lib/org.qtproject.example.test-1/libnative_camera_r2.2.0.so",RTLD_LAZY)失败:dlopen失败:找不到符号" _ZN7android6Camera10disconnectEv& #34;由" libnative_camera_r2.2.0.so" ...

引用

W / System.err(25902):java.lang.reflect.InvocationTargetException W / System.err(25902):at java.lang.reflect.Method.invoke(Native Method).... .....

注意:我的Android手机上安装了OpenCV管理器。

进行更改以仅包含libopencv_java.so库而不是libs文件夹中的所有库。现在出现以下错误,

  

I / Qt(19448):qt start

     

I / Qt(19448):传感器开始

     

W / art(19448):在没有提供名称的情况下附加了[14,tid = 19502,Native,Thread * = 0x48416278,peer = 0x656c9238," Thread-6047"]

     

I / Adreno-EGL(19448):: EGL 1.4 QUALCOMM Build:I0404c4692afb8623f95c43aeb6d5e13ed4b30ddbDate:11/06/13

     

W / art(19448):线程[14,tid = 19502,Native,Thread * = 0x48416278,peer = 0x656ca3c8," Thread-6048"]附加而不提供名称

     

W / art(19448):在没有提供名称的情况下附加了[14,tid = 19502,Native,Thread * = 0x48416278,peer = 0x656ca600," Thread-6049"]

     

D / OpenGLRenderer(19448):启用调试模式0

     

D / OpenCV :: camera(19448):CvCapture_Android :: CvCapture_Android(0)

     

D / OpenCV :: camera(19448):库名:libopencv_java.so

     

D / OpenCV :: camera(19448):库基址:0x49834000

     

D / OpenCV :: camera(19448):找到的库文件夹:/data/app-lib/com.sumit.tracker-1 /

     

D / OpenCV :: camera(19448):CameraWrapperConnector :: connectToLib:folderPath = / data / app- / lib / com.sumit.tracker-1 /

     

E / OpenCV :: camera(19448):CameraWrapperConnector :: connectToLib错误:无法dlopen相机包装库

     

E / OpenCV :: camera(19448):Native_camera返回打开错误:4

     

D / OpenCV :: camera(19448):CvCapture_Android :: CvCapture_Android(98)

     

D / OpenCV :: camera(19448):库名:libopencv_java.so

     

D / OpenCV :: camera(19448):库基址:0x49834000

     

D / OpenCV :: camera(19448):找到的库文件夹:/data/app-lib/com.sumit.tracker-1 /

     

D / OpenCV :: camera(19448):CameraWrapperConnector :: connectToLib:folderPath = / data / app-lib / com.sumit.tracker-1 /

     

E / OpenCV :: camera(19448):CameraWrapperConnector :: connectToLib错误:无法dlopen相机包装库

     

E / OpenCV :: camera(19448):Native_camera返回打开错误:4

     

E / cv :: error()(19448):OpenCV错误:断言失败(scn == 3 || scn == 4)在void cv :: cvtColor中(cv :: InputArray,cv :: OutputArray,int ,int),file /home/reports/ci/slave_desktop/50-SDK/opencv/modules/imgproc/src/color.cpp,line 3737   F / libc(19448):致命信号6(SIGABRT)位于0x00004bf8(代码= -6),线程19502(QtThread-114216)

1 个答案:

答案 0 :(得分:0)

经过大量探索后发现了这个链接,

http://grokbase.com/t/gg/android-qt/1238egc0ef/recommendations-for-camera-access

对页面的讨论建议如下,

将以下库作为LIBS添加到.pro文件中,

  

1] libopencv_info.so

     

2] libopencv_java.so

另外,将这些库复制到项目的android / libs文件夹中。这将解决上述问题中提到的所有问题。