计算机中缺失MSVCR110.dll,MSVCP120D.dll等问题解决

来源:互联网 发布:数据库注释注入防护 编辑:程序博客网 时间:2024/06/05 10:11

前些天,在调试vs2015中配置opencv3.1.0时,遇到缺失msvcp120d,dll,msvcr120d.dll文件问题。网上查找各种方法试,最后终于解决了问题才感觉明了了许多。

在此帮助大家一二,首先大家要明白两个问题:

1. 缺失MSVCR120.dll和MSVCR110.dll,这是vs不同版本的文件。有效的解决办法是分别可下载安装对应的组件包

Visual C++ Redistributable Packages for Visual Studio 2013,

Visual C++ Redistributable for Visual Studio 2012 Update 4,

对于选择x64还是x86,在不能确定的情况下最好都安装下。如果你是强迫症患者的话这得看你在调式的是多少位编译环境。还有其他vs版本问题如:

MSVCR80.dll is from Visual Studio 2005

MSVCR90.dll is from Visual Studio 2008

MSVCR100.dll is from Visual Studio 2010

MSVCR110.dll is from Visual Studio 2012

MSVCR120.dll is from Visual Studio 2013

MSVCR1400.dll is from Visual Studio 2015

去官网Microsoft搜索Redistributable+对应版本  自行下载即可

也可以在这里 http://download.csdn.net/detail/wxr769066052/9913964 链接去下载,含有VS2015之前的其他版本x64和x86都有。


2.对于 MSVCR120.dll和 MSVCR120D.dll是不同的,带D的是调试版本(微软的Visual Studio最终用户许可协议是禁止发布调试版(名字后面有D)的DLL的。你用了一个违规的调试版组件。建议向组件作者要求正式发行版。正式发布的软件里不应该用调试版的DLL)。最直接有效的方法是安装对应组件类型的vs软件,即缺失MSVCR120D.dll,MSVCP120D.dll等直接安装Visual Studio 2013。


注意:好多人说缺少什么.DLL就直接网上下载然后拷贝到:C:\Windows\System32;C:\Windows\SysWOW64;以及对应位数的opencv\build\x64\vc12\bin的版本中。本人认为这样的做法最不可取,其一在网上可能找的不是你需要的x64或x86的.dll,其二在系统文件随意中添加,可能在后期装其他软件发生冲突。后续可能会遇到更多以其他问题,如我的vs2015中遇到莫名其妙的“应用程序无法正常启动0xc000007b”。


当然这个问题也可能通过安装最新版的 DirectX解决问题,或者用驱动精灵等软件修复系统组件。这些也是可以尝试的。

3 0
原创粉丝点击