<分区>
我正在尝试在我从 Qt Creator 构建的 Qt Android 项目中使用 OpenCV。
我使用预构建的 OpenCV-2.4.10-android-sdk
,根据它们的大小判断,我正在链接到静态库。现在我遇到链接器错误,并且由于 GCC 中的链接顺序很重要,我怀疑这是因为我的链接顺序不正确(库按字母顺序排列)。
考虑到我在 Windows 上进行交叉编译,正确的链接顺序是什么?我该如何找到它?
这是来 self 的 .pro 文件:
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
这是我现在收到的错误:
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'