关于C#:如何修复Visual Studio 2015中的错误MSVCP120D.dll?

How to fix error MSVCP120D.dll in Visual Studio 2015?

您好,我已经在我的PC上下载并解压缩了OpenCV-2.4.10.exe。然后在VS 2015中创建一个新的Win32 Console应用程序项目,在Project属性中设置所有路径,在Win8.1中设置环境变量。当我尝试以调试模式启动程序时,出现"由于您的计算机缺少MSVCP120D.dll而导致程序无法启动。请尝试重新安装该程序以解决此问题"。

然后,我下载了Visual Studio 2015可再发行的Visual C,但问题仍然存在。在VS 2015中使用OpenCV应该怎么做?


OpenCV-2.4.10.exe带有运行时二进制dll,它们可与vc10(vs2010),vc11(vs2012)和vc12(vs2013)的运行时一起使用。

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

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

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

HTH

其他:
除非您需要调试openCV的源代码,否则您实际上不需要加载Debug二进制文件。如果您这样做,还是有办法的。下载openCV源代码,使用CMake创建VS2015项目。然后,您可以使用VS2015中的最新运行时来构建自己的dll二进制文件。


VS2015使用vc14,而OpenCV2.4.10不附带与vc14相关的预构建二进制文件。这个答案应该可以帮助您理解。因此,您应该在项目属性中为"链接器">"常规">"附加库目录"选择正确的文件夹(vc14)。

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