开发者

C++ tbb_debug.dll missing

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:

C++ tbb_debug.dll missing

Thanks


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!


For all of You who want to try the simplest solution (it is the only solution that worked for me) is:

  1. right click on Your project in Visual Studio
  2. select "Properties"
  3. under the Intel performance libraries options
  4. 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)


If you need Intel TBB dll's you can get that from

www.threadingbuildingblocks.org - > Go to the download area.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜