I'm trying to use OpenCV in a Qt Android project that I build from Qt Creator.
I use the pre-built OpenCV-2.4.10-android-sdk
, and judging by their sizes, I'm linking to static libraries. Right now I'm getting linker errors, and since link-order matters in GCC, I suspect they are because my link-order is incorrect (the libs are in alphabetical order).
So what is the correct link-order, and how do I find it, considering that I'm cross-compiling on Windows?
This is from my .pro file:
LIBS += -L"c:/Workspace/OpenCV-2.4.10-android-sdk/sdk/native/libs/armeabi-v7a"\
-L"c:/Workspace/OpenCV-2.4.10-android-sdk/sdk/native/3rdparty/libs/armeabi-v7a"
LIBS += \
-lopencv_core\
-lopencv_features2d\
-lopencv_flann\
-lopencv_highgui\
-lopencv_imgproc\
-lopencv_legacy\
-lopencv_ml\
-lopencv_objdetect\
-lopencv_ocl\
-lopencv_photo\
-lopencv_stitching\
-lopencv_superres\
-lopencv_ts\
-lopencv_video\
-lopencv_videostab\
-lIlmImf\
-llibjasper\
-llibjpeg\
-llibpng\
-llibtiff\
-ltbb
And this is the error I'm receiving right now:
c:/Workspace/OpenCV-2.4.10-android-sdk/sdk/native/libs/armeabi-v7a/libopencv_core.a(parallel.cpp.o):parallel.cpp:function tbb::interface6::internal::start_for<tbb::blocked_range<int>, (anonymous namespace)::ProxyLoopBody, tbb::auto_partitioner const>::~start_for(): error: undefined reference to 'vtable for tbb::task'