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

Eri*_*ura 2 c++ opencv visual-studio

我有以下场景:

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

在此输入图像描述

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

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

Ant*_*eru 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++),以便您拥有所需的文件.
  • 在Release模式下编译OpenCV(因此它不需要运行时的Debug版本).然后,您只需要安装vcredist100可再发行组件.

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

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