C++ tbb_debug.dll missing

programmer004 picture programmer004 · Sep 3, 2011 · Viewed 32.8k times · Source

I'm new with openCV and I tried followed some tutorials. Everything worked fine until I included: opencv2/imgproc/imgproc.hpp and used the filter2D function. I got the following error when I start my program:

"The program can't start because tbb_debug.dll is missing from your computer."

On the internet I have found that this error has something to do with 32 and 64 bit versions of dlls.

I'm using the 64bit version of windows and created a 32bit console application in VS2010 and the application uses the 32 bit version of the openCV dll's. When I start the program "dependency walker", I can see that my program uses the 64bit version of all system dll's (in C:\windows\system32....). Only the dll's of opencv are 32bit.

screenshot of depenency walker:

enter image description here Thanks

Answer

KMS picture KMS · Sep 5, 2011

I assume that you are using pre-compiled OpenCV 2.3 binaries. The package, for some reason, ships with tbb dlls but not the debug ones (i.e., say with tbb.dll, but not tbb_debug.dll). You need to get that from Intel here or as part of an Intel software suite (if you want to buy/try). Once you get this, all you need to do is put the dlls in path where your program's executable can find it. Easiest way is to copy all tbb*_debug.dll to the OpenCV bin folder ..../build/common/tbb/intel64/vc10/

UPDATE [May '12]: OpenCV 2.4 is out now, and it does ship with all the requisite dlls!