2012-09-25 5 views
4

OpenCV로 Qt Android 앱을 만들고 싶습니다. 저는 Necessitas Qt Creator와 OpenCV 2.4.0 Android 바이너리 패키지를 Ubuntu 12.04 (64-Bit)에 사용하고 있습니다. 지금은 OpenCV Mat 객체를 만듭니다.OpenCV가있는 Qt Android 프로젝트 - tbb 컴파일 오류

하지만 내가 TBB 기능에 약간의 "정의되지 않은 참조"오류를 얻을 프로젝트 컴파일있을 때 : 내 *에서 OpenCV의 라이브러리 (또한 libtbb.a)을 포함하고있어

> /home/kolbe/src/android-sdk-linux/OpenCV-2.4.0/libs/armeabi-v7a/libopencv_core.a(stat.cpp.o):-1: In function tbb::interface6::internal::start_for<tbb::blocked_range<int>, cv::BatchDistInvoker, tbb::auto_partitioner>::execute(): 
stat.cpp:-1: error: undefined reference to tbb::internal::allocate_continuation_proxy::allocate(unsigned int) const 
stat.cpp:-1: error: undefined reference to tbb::internal::allocate_continuation_proxy::allocate(unsigned int) const 
... 

을 .PRO/qmake 파일 :

ANDROID_OPENCV = /home/kolbe/src/android-sdk-linux/OpenCV-2.4.0 
LIBS += \ 
$$ANDROID_OPENCV/libs/armeabi-v7a/libopencv_calib3d.a \ 
$$ANDROID_OPENCV/libs/armeabi-v7a/libopencv_flann.a \ 
$$ANDROID_OPENCV/libs/armeabi-v7a/libopencv_objdetect.a \ 
$$ANDROID_OPENCV/libs/armeabi-v7a/libopencv_contrib.a \ 
$$ANDROID_OPENCV/libs/armeabi-v7a/libopencv_video.a \ 
$$ANDROID_OPENCV/libs/armeabi-v7a/libopencv_ml.a \ 
$$ANDROID_OPENCV/libs/armeabi-v7a/libopencv_legacy.a \ 
$$ANDROID_OPENCV/libs/armeabi-v7a/libopencv_highgui.a \ 
$$ANDROID_OPENCV/share/OpenCV/3rdparty/libs/armeabi-v7a/liblibjpeg.a \ 
$$ANDROID_OPENCV/share/OpenCV/3rdparty/libs/armeabi-v7a/liblibpng.a \ 
$$ANDROID_OPENCV/share/OpenCV/3rdparty/libs/armeabi-v7a/liblibtiff.a \ 
$$ANDROID_OPENCV/share/OpenCV/3rdparty/libs/armeabi-v7a/liblibjasper.a \ 
$$ANDROID_OPENCV/share/OpenCV/3rdparty/libs/armeabi-v7a/libtbb.a \ 
$$ANDROID_OPENCV/libs/armeabi-v7a/libopencv_ts.a \ 
$$ANDROID_OPENCV/libs/armeabi-v7a/libopencv_imgproc.a \ 
$$ANDROID_OPENCV/libs/armeabi-v7a/libopencv_core.a \ 
$$ANDROID_OPENCV/libs/armeabi-v7a/libopencv_androidcamera.a \ 
$$ANDROID_OPENCV/libs/armeabi-v7a/libopencv_features2d.a 

INCLUDEPATH += $$ANDROID_OPENCV/include/opencv/ 
INCLUDEPATH += $$ANDROID_OPENCV/include/opencv2/ 
INCLUDEPATH += $$ANDROID_OPENCV/include/ 

CONFIG+=link_pkgconfig PKGCONFIG+=opencv 

왜 OpenCV에서 tbb 기능을 찾을 수 없습니까? 감사!

+0

[Qt Creator Android 프로젝트에 OpenCV를 통합하는 방법] (http://stackoverflow.com/questions/27562311/how-to-integrate-opencv-into-qt -creator-android-project) – sashoalm

답변

2

라이브러리의 순서는 링크하는 데 중요합니다. 그것은

사본 QT_INSTALLDIR이/5.1.1/android_armv7/lib에 후 추가 다음과 libopencv_java.so 나를 위해 일한 ...

LIBS += \ 
$$ANDROID_OPENCV/libs/armeabi-v7a/libopencv_contrib.a \ 
$$ANDROID_OPENCV/libs/armeabi-v7a/libopencv_legacy.a \ 
$$ANDROID_OPENCV/libs/armeabi-v7a/libopencv_ml.a \ 
$$ANDROID_OPENCV/libs/armeabi-v7a/libopencv_objdetect.a \ 
$$ANDROID_OPENCV/libs/armeabi-v7a/libopencv_calib3d.a \ 
$$ANDROID_OPENCV/libs/armeabi-v7a/libopencv_video.a \ 
$$ANDROID_OPENCV/libs/armeabi-v7a/libopencv_features2d.a \ 
$$ANDROID_OPENCV/libs/armeabi-v7a/libopencv_highgui.a \ 
$$ANDROID_OPENCV/libs/armeabi-v7a/libopencv_androidcamera.a \ 
$$ANDROID_OPENCV/libs/armeabi-v7a/libopencv_flann.a \ 
$$ANDROID_OPENCV/libs/armeabi-v7a/libopencv_imgproc.a \ 
$$ANDROID_OPENCV/libs/armeabi-v7a/libopencv_core.a \ 
$$ANDROID_OPENCV/share/OpenCV/3rdparty/libs/armeabi-v7a/liblibjpeg.a \ 
$$ANDROID_OPENCV/share/OpenCV/3rdparty/libs/armeabi-v7a/liblibpng.a \ 
$$ANDROID_OPENCV/share/OpenCV/3rdparty/libs/armeabi-v7a/liblibtiff.a \ 
$$ANDROID_OPENCV/share/OpenCV/3rdparty/libs/armeabi-v7a/liblibjasper.a \ 
$$ANDROID_OPENCV/share/OpenCV/3rdparty/libs/armeabi-v7a/libtbb.a 
0

는 다음과 같은 방법을 시도 할 수 있습니다 : 라인을 다음과 같이 순서를 변경하려고 topro LIBS + = -lopencv_java