6

如何在启用 TBB 的情况下安装 Opencv?

我尝试了以下方法:

1) 下载 TBB 包。

2)使用以下命令构建

 mingw32-make compiler=gcc arch=ia32 runtime=mingw default

3)我将环境变量路径设置为“d:\tbb\build\windows_ia32_gcc_mingw_release

3)现在使用cmake,我启用了“WITH_TBB”并编译了opencv。

它抛出以下错误。

[ 22%] Built target pch_Generate_opencv_core
Linking CXX shared library ..\..\bin\libopencv_core245.dll
c:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot fin
d -ltbb
collect2: ld returned 1 exit status
make[2]: *** [bin/libopencv_core245.dll] Error 1
make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2
make: *** [all] Error 2

我有什么遗漏吗...请指教..

4

1 回答 1

11

我遇到了同样的问题,解决了以下问题以消除 tbb 链接错误:

(假设您已经构建了 tbb,正如您已经在问题中解释的那样)

  • 从 CMake,配置一次 OpenCV

  • 启用WITH_TBB,注意不要启用BUILD_TBB:尽管付出了很多努力,OpenCV 的自动下载和构建对我来说还是失败了。如果您之前启用了BUILD_TBB,我的建议是从头开始,清除 cmake 缓存。

  • 配置第二次 OpenCV

  • 现在应该出现一些变量:TBB_INCLUDE_DIRS. 对我来说,我设置了以下值(分别):

    tbb41_20130314oss/include

  • 出现 2 个新变量:TBB_STDDEF_PATHTBB_LIB_DIR。它们被赋予了一些明显合理的值。对我来说,TBB_STDDEF_PATH是正确的,但TBB_LIB_DIR不是!所以我将其更正为:

    tbb41_20130314oss/build/windows_ia32_gcc_mingw4.8.1_release

    我就这样离开TBB_STDDEF_PATH了:

    tbb41_20130314oss/include/tbb/tbb_stddef.h

  • 第三次配置

  • 最后点击Generate,就可以构建了mingw32-make -j7

  • 一旦您开始使用 opencv 库,请确保 tbb DLL 在您的路径中

于 2013-06-24T06:55:45.437 回答