问题
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..
回答1:
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 enablingBUILD_TBB
: the automatic downloading and building of OpenCV failed miserably for me despite many efforts. If you had previously enabledBUILD_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
andTBB_LIB_DIR
. They are assigned some apparently reasonable values. For me,TBB_STDDEF_PATH
was correct, butTBB_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
来源:https://stackoverflow.com/questions/16767464/how-to-install-opencv-with-tbb-enabled-using-mingw