21

我是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位的。

依赖步行者的截图:

在此处输入图像描述 谢谢

4

3 回答 3

27

我假设您使用的是预编译的 OpenCV 2.3 二进制文件。出于某种原因,该软件包附带了 tbb dll,但不附带调试程序(例如,带有 tbb.dll,但不附带 tbb_debug.dll)。您需要在此处从 Intel或作为 Intel 软件套件的一部分获得它(如果您想购买/试用)。一旦你得到这个,你需要做的就是把dll放在你的程序的可执行文件可以找到它的路径中。最简单的方法是将所有 tbb*_debug.dll 复制到 OpenCV bin 文件夹 ..../build/common/tbb/intel64/vc10/

更新 [2012 年 5 月]:OpenCV 2.4 现已发布,它附带了所有必需的 dll!

于 2011-09-05T03:58:54.503 回答
4

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

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

本视频中所述,从 2:55 开始

祝人民好运!:)

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

于 2016-04-20T13:16:52.523 回答
3

如果您需要英特尔 TBB dll,您可以从

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

于 2012-12-12T20:37:10.033 回答