2017-03-05 5 views
1

Qt에서 Android로 OpenCV를 사용하려고했지만 Qt에서 성공적으로 연결할 수 없습니다. 라이브러리 (libjpeg, libtegra_hal 등)에 정의되지 않은 참조 오류가 발생합니다. 나는 참고 가이드로 this SO answer을 사용했다.Qt 내에서 OpenCV Android를 연결할 수 없습니다

이 내 .PRO 파일 - 나는 Qt는 5.8과 OpenCV의 3.2.0을 사용하고

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 
} 

. 오류는이 포맷에 -

libopencv_core.a ... 오류 (타사 libs와 하나의 방법)에 정의되지 않은 참조

이것은 일례이다 -

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의 기능입니다. opencv 라이브러리를 타사 라이브러리와 연결할 수있는 방법이 있습니까?

감사합니다.

편집 : 나는 성공적으로 컴파일하고 OpenCV의 3.1.0 라이브러리를 실행할 수 있습니다

아닌 3.2.0 라이브러리입니다.

+0

나는 "carotene_o4t :: isSupportedConfiguration"에 대한 정의되지 않은 참조를 봤는데, 몇 가지 히트가 있습니다 - http://stackoverflow.com/questions/41665655/what-is-carotene-o4t-and-why-does-it- 원인 - 문제 - 컴파일 - 함께 - 프로그램 - 사용, 그것은 당신에게 몇 가지 포인터를 줄 수 있습니다. [제 3의 코멘트] (http://stackoverflow.com/questions/41665655/what-is-carotene-o4t-and-why-does-it-cause-iss-with-compiling-a-program)에 따라 카로틴을 비활성화하십시오. -using # comment70614446_41665655) 조언. – sashoalm

+0

감사합니다. 조사해보세요. 문제는 OpenCV 3.2.0에 있습니다. – FadedCoder

답변

0

해결 방법 : OpenCV 3.1.0 이전 버전을 사용하거나 OpenCV 3.2.0을 CAROTENE을 사용하지 않도록 컴파일하십시오.

지금 다른 해결책을 찾을 수 없습니다.