标签:Qt OPENCV armeabi OpenCV Linux ANDROID v7a sdk
机器环境:
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文件。
基本上就是这些了。
标签:Qt,OPENCV,armeabi,OpenCV,Linux,ANDROID,v7a,sdk 来源: https://www.cnblogs.com/sundp/p/16089937.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。