代码之家  ›  专栏  ›  技术社区  ›  amit kumar

使用TBB时未找到msvcp80d.dll

  •  0
  • amit kumar  · 技术社区  · 17 年前

    我正在使用英特尔TBB C++来在VisualStudio 2008上多线程应用程序。当我运行可执行文件时,我得到一个对话框,上面说“MSVCP80D.dll”没有找到。网上关于这件事的报道太多了,让我很困惑。

    请帮忙。

    编辑:根据答案,我终于能够修复“dll缺失”问题。我已经给出了vc8的TBB lib的路径,导致依赖vc8 DLL,它们与VisualStudio2005一起使用,而不是与2008一起使用。(使用取决于( http://www.dependencywalker.com/ )确定可执行文件的运行时依赖关系很容易。)我按项目更改为依赖vc9 DLL,而不是vc8,然后它工作正常。

    另一件需要注意的事情是在windows上使用清单文件。清单文件描述依赖关系。必要时,必须在编写应用程序时生成清单文件。

    5 回复  |  直到 17 年前
        1
  •  1
  •   MSalters    17 年前

    MSVC80D是VS2005。作为VS2008的一部分,您将使用MSVC90D。

        2
  •  1
  •   Steve    17 年前

    你可以在网上不同的地方找到它们。只要扫描它的病毒,并把它放在您的程序的路径,一切都应该工作正常。您可能需要多个调试DLL,可以使用depends32.exe查看缺少的内容。

        3
  •  0
  •   lsalamon    17 年前

    您的应用程序是用调试版本编译的。VC运行时的调试版本不在路径中。

        4
  •  0
  •   Doug    17 年前

    您是否在开发机器上运行该程序?如果不是,则可能会出现此错误。文件名末尾的“D”表示DLL是调试DLL,通常不在未安装Visual Studio的计算机上。你也不应该重新发布它(复制它)。您应该编译应用程序的“发布”版本并运行它。如果你真的因为某种原因不能这样做,而且只有一台或两台计算机,那么试着在这台计算机上安装visual studio的快速版本。

    如果您的开发机器上存在此问题,则显然可能是由编译器/链接器问题引起的。尝试执行干净的生成(“干净”,然后在VisualStudio中执行“生成”)。

        5
  •  0
  •   amit kumar    17 年前

    好的,经过大量的搜索,我偶然登陆了这个论坛 http://www.codeguru.com/forum/showthread.php?t=446789 这说明我解释为“我使用的TBB版本不支持VS2008”。