【问题标题】:QT Opencv Android app cannot locate symbol "_ZN7android6Camera10disconnectEv"QT Opencv Android 应用程序找不到符号“_ZN7android6Camera10disconnectEv”
【发布时间】:2014-10-23 19:05:45
【问题描述】:

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

dlopen("/data/app-lib/org.qtproject.example.test-1/libnative_camera_r2.2.0.so", RTLD_LAZY) 失败:dlopen 失败:找不到“libnative_camera_r2.2.0”引用的符号“_ZN7android6Camera10disconnectEv”。所以”...

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

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

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

I/Qt (19448):qt 开始

I/Qt (19448):传感器启动

W/art (19448):Thread[14,tid=19502,Native,Thread*=0x48416278,peer=0x656c9238,"Thread-6047"] 未提供名称而附加

I/Adreno-EGL(19448): : EGL 1.4 高通内部版本:I0404c4692afb8623f95c43aeb6d5e13ed4b30ddb日期:11/06/13

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

W/art (19448):Thread[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 错误:无法打开相机包装库

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 错误:无法打开相机包装库

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

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

【问题讨论】:

    标签: android qt opencv


    【解决方案1】:

    经过大量探索发现此链接,

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

    页面上的讨论建议如下,

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

    1] libopencv_info.so

    2] libopencv_java.so

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

    【讨论】:

      猜你喜欢
      • 2020-09-09
      • 2018-04-15
      • 2015-10-09
      • 1970-01-01
      • 1970-01-01
      • 2014-04-11
      • 2016-05-17
      • 2016-02-11
      • 1970-01-01
      相关资源
      最近更新 更多