How to install opencv with tbb enabled using mingw

10,013

I had the same problem, the following worked out for removing the tbb linking error:

(Assuming you have already built tbb, as you are already explaining in your question)

  • From CMake, configure one time OpenCV

  • Enable WITH_TBB, be careful not enabling BUILD_TBB: the automatic downloading and building of OpenCV failed miserably for me despite many efforts. If you had previously enabled BUILD_TBB, my suggestion is to restart from the beginnning, clearing cmake cache.

  • Configure a second time OpenCV

  • Now some variables should appear: TBB_INCLUDE_DIRS. For me I set the following values (respectively):

    tbb41_20130314oss/include

  • 2 new variables appears: TBB_STDDEF_PATH and TBB_LIB_DIR. They are assigned some apparently reasonable values. For me, TBB_STDDEF_PATH was correct, but TBB_LIB_DIR was not! So I corrected it to be:

    tbb41_20130314oss/build/windows_ia32_gcc_mingw4.8.1_release

    and I left TBB_STDDEF_PATH as it was:

    tbb41_20130314oss/include/tbb/tbb_stddef.h

  • Configure a third time

  • Finally, click Generate, and you are ready to build mingw32-make -j7

  • Once you start using the opencv library, make sue the tbb DLLs are in your path

Share:
10,013
2vision2
Author by

2vision2

Updated on June 21, 2022

Comments

  • 2vision2
    2vision2 almost 2 years

    How to install Opencv with TBB enabled?

    I tried the following:

    1) Downloaded the TBB package.

    2) Build using the below command

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

    3) I set the Environmental variable path as "d:\tbb\build\windows_ia32_gcc_mingw_release

    3) Now using cmake, I enabled "WITH_TBB" and compiled the opencv.

    its throwing the below error.

    [ 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
    

    Am I missing anything... Please advice..