无法在 Qt 中 link OpenCV Android

Cannot link OpenCV Android inside Qt

我尝试在 Qt 中将 OpenCV 与 Android 一起使用,但我无法在 Qt 中成功 link 它,我得到了一些未定义的辅助库引用错误(如 libjpeg,libtegra_hal ETC。)。我使用 this SO answer 作为参考指南。

这是我的 .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:...错误:对(第 3 方库之一的方法)的未定义引用

这是一个例子 -

libopencv_core.a(arithm.cpp.o):arithm.cpp:function cv::hal::cmp8u(unsigned char const*, unsigned int, unsigned char const*, unsigned int, unsigned char*, unsigned int, int, int, void*): error: undefined reference to 'carotene_o4t::isSupportedConfiguration()'

其中 carotenelibtegra_hal.a 的函数。有什么方法可以 link opencv 库与第 3 方库吗?

谢谢。

编辑:

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

解决方法是:使用 OpenCV 3.1.0 或更早版本,或者编译禁用 CAROTENE 的 OpenCV 3.2.0。

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