问题
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:
Thanks回答1:
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!
回答2:
If you need Intel TBB dll's you can get that from
www.threadingbuildingblocks.org - > Go to the download area.
回答3:
For all of You who want to try the simplest solution (it is the only solution that worked for me) is:
- right click on Your project in Visual Studio
- select "Properties"
- under the Intel performance libraries options
- select "YES" for "Use TBB"
As explained in this video starting from 2:55
Good luck People! :)
==== EDIT - updated the video link (first and the last time)
来源:https://stackoverflow.com/questions/7293160/c-tbb-debug-dll-missing