计算机缺失MSVCP120D.dll

时间:2024-04-13 22:34:45

问题描述:vs2012运行编译opencv代码事出现了提示,计算机计算机缺失MSVCP120D.dll

问题分析:网上的说法是代码是用vs2013的编译器写的,然后用些东西是写的时候就固化到代码配置里面了,所以在vs2012编译的时候就会出现缺失MSVCP120D.dll,也就是缺失了VS2013运行的环境库,网上的解决办法有三种:第一,下载提示缺失的dll放在系统system32或是syswow64下,经本人测试,这样的根本就解决不了;第二下载directx修复工具,然后运行自动检测PC中缺失的dll,自动安装,经本人测试,这样无法解决,也可能是我这里行不通;第三,网上下载vs2013运行的插件安装,地址为:https://www.microsoft.com/zh-CN/download/details.aspx?id=40784 ,不过安装了还是无法解决我的问题,以上三种可能针对不同的电脑可以解决,但是我这里的是无法解决,下面介绍我的解决办法:

ps:

vc8 = Visual Studio 2005

vc9 = Visual Studio 2008

vc10 = Visual Studio 2010

vc11 = Visual Studio 2012

vc12 = Visual Studio 2013

MSVCP80.DLL is from Visual Studio 2005

MSVCP90.DLL is from Visual Studio 2008

MSVCP100.DLL is from Visual Studio 2010

MSVCP110.DLL is from Visual Studio 2012

MSVCP120.DLL is from Visual Studio 2013

 

问题解决:

1、vs2012运行了vs2013的代码(MSVCP120D中12就表示是vs1013),导致缺失了运行库

      那么在vs2012运行的时候就得把编译器的配置对应的更改过来,如下:

计算机缺失MSVCP120D.dll

 

注意:如果在配置opencv时时通过属性管理器配置的,一定得在属性管理器这里更改vs的配置,不然在项目属性里面改是不行的,因为在属性管理配置器中配置的是永久的,所以你更改的时候也在这里更改VS的配置。

如图,更改库目录下的vc11,不是vc11的就改为11,表示是在vs2012编译器下面运行,然后在去电脑的环境变量里面改下路径,如下:

计算机缺失MSVCP120D.dll

同样的道理,把path里面的路径改为vc11,表示在vs2012下面的运行

PS:可能还需要几个dll文件,去网上下载即可,比如msvcp120和msvcr120两个dll,本来我这里有直接上传就可以了,免得大家去下载,但是我不知道怎么上传啊