机器环境:
ubuntu 18.04,Qt 5.12.9,Android Studio 3.6,opencv-4.5.5-android-sdk,ZBarandroidSDK-0.2
Qt + Android教程网上多的是,随便看看配置就没问题。
OpenCV到官网下最新的。https://opencv.org/releases/
zbar遇到一点小问题。https://sourceforge.net/projects/zbar/files/?source=navbar 这里可以下到ZBarandroidSDK-0.2.zip,但测试时发现它的x86库在模拟器上好用,armeabi-v7a库在真机上居然闪崩。
https://github.com/kongpf8848/zbar-android 这里是一个别人编译的,它这里有一个现成的armeabi-v7a,在真机上好用。也可以用ndk-build对它在自己的机器上编译一下,生成其它的库。编译时用的ndk-build一定要和Qt里的一致,要不然编译出的库到Qt里用不了。
在写 Qt 工程的 pro 文件时需要注意 LIBS 的加载顺序。
下面是一个pro文件的片段:
ANDROID_OPENCV = /home/sun/OpenCV-android-sdk/sdk/native
ZBAR = /home/sun/OpenCV-android-sdk/zbar
INCLUDEPATH += $$ANDROID_OPENCV/jni/include
INCLUDEPATH += $$ZBAR/include
LIBS += $$ANDROID_OPENCV/libs/armeabi-v7a/libopencv_java4.so
LIBS += $$ANDROID_OPENCV/3rdparty/libs/armeabi-v7a/lib*.a
LIBS += $$ANDROID_OPENCV/staticlibs/armeabi-v7a/libopencv_*.a
LIBS += $$ZBAR/libs/armeabi-v7a/libiconv.so
LIBS += $$ZBAR/libs/armeabi-v7a/libzbarjni.so
libopencv_java4.so一定要在前面,否则编译无法通过。很奇怪,不知道为什么。
Qt工程的 Projects->Build->Build Android APK->Additional Libraries 里还要加上上面的三个so文件。
基本上就是这些了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。