MSVSP100D.dll在窗口8中缺少使用opencv 2.4.1

时间:2012-10-26 14:49:55

标签: c++ visual-studio opencv

我有以下情况:

我正在尝试使用Windows 8中的visual studio 2012,opencv 2.4.1。 然后,当我尝试运行我的应用程序时,我收到以下消息错误:

enter image description here

我知道有关丢失MSVCP100D.dll的问题在stackoverflow之前被询问, 但是我发生了一些不同的事情:当我在计算机中查找dll时,我注意到了 我有一个MSVCP110D.dll,它可能是第一个版本的更高版本。

有人可以回答这里发生的事情。

1 个答案:

答案 0 :(得分:7)

您没有安装Visual C ++ 2010运行时。 Visual Studio 2012安装了11.0版本,但似乎您的OpenCV已使用Visual Studio 2010进行编译,因此需要2010运行时(10.0)。你应该可以从这里得到它:http://www.microsoft.com/en-us/download/details.aspx?id=14632

因为它正在寻找 D 版本,所以你可以看到它是在Debug中构建的。从法律上讲,运行时库无法在调试中重新分发,因此您有以下选项:

  • 安装Visual Studio 2010(至少VC ++),以便您拥有所需的文件。
  • 在发布模式下编译OpenCV(因此它不需要运行时的调试版本)。然后,您只需要安装vcredist100可再发行组件。

在每种情况下,要部署您的应用程序,您需要包含两个版本的VC ++ redists:适用于您的应用程序的版本11和适用于OpenCv的版本10(这是必需的)。

请注意,可能无法在Visual Studio 2010和12之间链接二进制文件。