无法将OpenCV Android链接在QT中

Cannot link OpenCV Android inside Qt

本文关键字:QT 链接 Android OpenCV      更新时间:2023-10-16

我尝试在QT中使用openCV与Android一起使用,但是我无法成功将其链接在QT中,我将其与侧库中的一些不确定的参考错误(例如libjpeg,libtegra_hal等)链接在一起。我用这个答案作为参考指南。

这是我的.pro文件 -

INCLUDEPATH += "$$PWD/../../External-Libraries/opencv-android/sdk/native/jni/include"
android {
# 3rd party libs
LIBS += 
    -L"$$PWD/../../External-Libraries/opencv-android/sdk/native/3rdparty/libs/armeabi-v7a"
    -llibtiff
    -llibjpeg
    -llibjasper
    -llibpng
    -llibwebp
    -lIlmImf
    -ltbb
    -ltegra_hal
# opencv libs
LIBS += -L"$$PWD/../../External-Libraries/opencv-android/sdk/native/libs/armeabi-v7a"
    -lopencv_core
    -lopencv_highgui
    -lopencv_java3
    -lopencv_calib3d
    -lopencv_imgcodecs
    -lopencv_imgproc
    -lopencv_flann
    -lopencv_features2d
    -lopencv_ml
    -lopencv_objdetect
    -lopencv_photo
    -lopencv_shape
    -lopencv_stitching
    -lopencv_superres
    -lopencv_video
    -lopencv_videoio
    -lopencv_videostab
ANDROID_PACKAGE_SOURCE_DIR=$$PWD/android
}

我正在使用QT 5.8和OPENCV 3.2.0。错误以这种格式 -

libopencv_core.a:...错误:未定义的引用(第三方libs之一的方法)

这是一个例子 -

libopencv_core.a(arithm.cpp.o):arithm.cpp:函数cv :: hal :: cmp8u(无签名的char const*,unsigned int,无签名的char const*,unsigned char const*,未签名int,int,void*):错误:'carotene_o4t :: issupportedConfiguration()'

'

其中carotenelibtegra_hal.a的函数。有什么方法可以将OpenCV Libs与第三方libs联系起来?

谢谢。

编辑:

我可以成功编译并运行OpenCV 3.1.0库,但不能成功编译,但不能成功编译。

解决方法是:使用opencv 3.1.0或以上或用carotene禁用的opencv 3.2.0。

我现在似乎还找不到其他解决方案。