C++ tbb_debug.dll 丢失

发布于 2024-12-03 07:30:58 字数 466 浏览 1 评论 0原文

我是 openCV 的新手,我尝试遵循一些教程。一切工作正常,直到我包含:opencv2/imgproc/imgproc.hpp 并使用 filter2D 函数。当我启动程序时,出现以下错误:

“程序无法启动,因为您的计算机中缺少 tbb_debug.dll。”

在互联网上我发现这个错误与32位和64位版本的dll有关。

我使用的是 64 位版本的 Windows,并在 VS2010 中创建了一个 32 位控制台应用程序,该应用程序使用 32 位版本的 openCV dll。 当我启动程序“dependency walker”时,我可以看到我的程序使用所有系统 dll 的 64 位版本(在 C:\windows\system32....)。只有opencv的dll是32位的。

依赖步行者的屏幕截图:

在此处输入图像描述 谢谢

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

↙温凉少女 2024-12-10 07:30:58

我假设您使用的是预编译的 OpenCV 2.3 二进制文件。由于某种原因,该软件包附带了 tbb dll,但不附带调试DLL(即,附带 tbb.dll,但不附带 tbb_debug.dll)。您需要从英特尔此处获取该信息,或者将其作为英特尔软件的一部分套件(如果您想购买/尝试)。获得此信息后,您所需要做的就是将 dll 放入程序的可执行文件可以找到的路径中。最简单的方法是将所有 tbb*_debug.dll 复制到 OpenCV bin 文件夹 ..../build/common/tbb/intel64/vc10/

UPDATE [May '12]:OpenCV 2.4 现已发布,并且它确实附带了所有必要的dll!

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!

姜生凉生 2024-12-10 07:30:58

对于所有想要尝试最简单的解决方案(这是唯一对我有用的解决方案)的人来说:

  1. 右键单击 Visual Studio 中的项目,
  2. 选择“属性”
  3. 在英特尔性能库选项下,
  4. 为“使用 TBB”选择“是”,

该视频从 2:55 开始

祝大家好运! :)

====
编辑 - 更新了视频链接(第一次和最后一次)

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)

何以心动 2024-12-10 07:30:58

如果您需要 Intel TBB dll,您可以从

www.threadingbuildingblocks.org 获取 - >前往下载区。

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文