如何修复Visual Studio 2015中的错误MSVCP120D.dll?

时间:2016-01-31 07:07:58

标签: c++ opencv visual-studio-2015

您好我已经在我的电脑上下载并解压缩了OpenCV-2.4.10.exe。然后在VS 2015中创建了一个新的Win32控制台应用程序项目,在Project属性中设置所有Paths,在Win8.1中设置环境变量。当我尝试在调试模式下启动程序时,我得到“程序无法启动,因为您的计算机缺少MSVCP120D.dll。请尝试重新安装程序以解决此问题”。< / p>

然后,我下载了Visual Studio 2015的Visual C ++可再发行组件但问题仍然存在。在VS 2015中如何使用OpenCV?

2 个答案:

答案 0 :(得分:3)

OpenCV-2.4.10.exe附带运行时二进制dll,用于处理来自 vc10 (vs2010), vc11 (vs2012)和 vc12 <的运行时/ strong>(vs2013)。

这些DLL文件分别使用MSVCP100.dll,MSVCP110.dll和MSVCP120.dll,如果已安装Visual Studio 2015,则应在System32(或SysWOW64)目录中找到它们。

当您的应用程序尝试加载DLL二进制文件的 DEBUG 版本时,会出现MSVCP120 D .dll错误。除非您的系统上安装了Visual Studio 2013,否则您没有MSVCP120 D .dll。要解决此问题,请使用Release运行时而不是Debug运行时。

您需要做的就是从项目中排除 DEBUG lib文件。这意味着只包含没有后缀的lib文件&#39; d&#39;。 (即包括opencv_core2410.lib而不是opencv_core2410 d .lib)

HTH

附加功能: 除非您需要调试openCV的源代码,否则您不需要加载Debug二进制文件。如果你这样做,还有一种方法。下载openCV源代码,使用CMake创建VS2015项目。然后,您可以使用VS2015中的最新运行时构建自己的dll二进制文件。

答案 1 :(得分:0)

VS2015使用vc14,而OpenCV2.4.10没有预先构建的与vc14相关联的二进制文件。 This answer应该可以帮助您理解。因此,您应该为项目属性中的链接器&gt;常规&gt;附加库目录选择正确的文件夹(vc14)。

您可以使用cmake使用VS2015构建二进制文件,也可以下载更高版本的OpenCV,它具有vc14的预构建二进制文件。