Linux 平台 Qt + Android + OpenCV + Zbar 环境配置

2022/4/2 7:19:34

本文主要是介绍Linux 平台 Qt + Android + OpenCV + Zbar 环境配置,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

机器环境:

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文件。

基本上就是这些了。



这篇关于Linux 平台 Qt + Android + OpenCV + Zbar 环境配置的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程