Visual studio卸载不全后安装方法与重新安装后易出现MSVCP120D.dll和MSVCR120D.dll缺失情况,和exe运行时0xc000007b错误分析

1、Visual studio卸载不全后安装方法:

1、我是在win10上安装的VS--中文路径下,后来由于Cmake不支持中文路径,导致我把其卸载了,但是在后来的重新安装时出现,安装失败,提示需要关闭win的程序兼容性助手。关闭后就可以继续安装了。perfect。下面是关闭的方法:

1、首先在Win10电脑桌面上找到“此电脑”的图标,在该图标上点击鼠标右键,选择菜单中的“管理”命令,这样就会弹出一个“计算机管理”窗口。


2、接着在左侧列表中找到“服务和应用程序”中的“服务”项,再在右侧窗口中找到“Program Compatibility Assistant Service”这项服务。在该服务名称上点击鼠标右键,选择菜单里面的“属性”命令。然后在弹出的属性对话框中找到“启动类型”项,接下来在列表中选择“禁用”命令,再在“范围状态”选项中点击“停用”命令即可,如下图。


虽然这项服务并不能直接关闭相关功能,但是由于这项服务是为程序兼容性助手提供支持的,所以在关闭它以后就相当于釜底抽薪。这样程序兼容性助手功能也就不能使用了,从而达到了我们不想使用这项功能的目的。

2、使用Code Map插件来流量程序,其视频教程为:https://channel9.msdn.com/Series/Visual-Studio-2012-Premium-and-Ultimate-Overview-CHS/Visual-Studio-Ultimate-2012-Understanding-complex-code-with-Code-Map-CHS

http://www.cnblogs.com/tangge/archive/2012/08/10/2631365.html

Visual Studio超强的程序代码分析功能Code Map

2、重新安装后易出现MSVCP120D.dll和MSVCR120D.dll缺失情况,exe运行时0xc000007b错误分析:

   实际重新安装后会导致四个文件缺失,分别是release模式下需要的:MSVCP120.dll和MSVCR120.dll;debug模式下需要的:

MSVCP120D.dll和MSVCR120D.dll;下面搬下砖,不过自己觉得挺有道理的:

     在没有装vs2013的电脑上(装了vcredist_x86),一个64位应用程序在运行时,弹出0xc000007b错误。而装了vs2013,可以运行。让人摸不着头脑,百度遍了也没找到具体问题,引出了下面操作。 

 vcredist_x86与vcredist_x64的下载地址:https://www.microsoft.com/en-in/download/details.aspx?id=15336

导致0xc000007b错误的主要原因:是工程代码使用的库dll或者lib的位数不对,x64平台包含了win32的库,或者相反。


肯定是vs2013安装了一些东西,从而程序可以运行。因为已经装了vc32位运行库vcredist_x86,判断可能是64位程序和32位运行库冲突,因此装了vcredist_x64,但问题依然存在。

  msvcr120d.dll和msvcp120d.dll是 debug版本 的。
release版本dll是vcredist_x86.exe和vcredist_x64.exe安装的(x86安装到syswow64,x64安装到system32)。 
debug版本dll是vs2013安装的(32位dll安装到syswow64,64位dll安装到system32)。

装上vs2013后,会在system32文件夹中放入64位的msvcr120d.dll和msvcp120d.dll,在syswow64文件夹中放入32位的msvcr120d.dll和msvcp120d.dll。64位exe运行时会去system32文件夹寻找这两个dll,因此可以运行。

windows应用程序运行搜索路径先后顺序:
默认是 应用程序所在目录->系统system目录->windows目录->当前目录->path环境变量指定目录
注意:其中如果不报缺失 MSVCP120D.dll等文件,而是弹出0xc000007b错误,则说明所放进来的dll文件是与位数对不上,此时需要64位的才可以。其实网上搜的MSVCP120D.dll等文件还是没什么作用,文件被缩水了,不知道为啥,此时应当自己去装有相同VS版本的电脑的system32目录下拷贝这两个debug文件。此后程序就可以正常运行。

此处附两个dll文件的下载地址:(系统:win10 64位) http://download.csdn.net/detail/yangdashi888/9851592









  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: msvcp120d.dllmsvcr120d.dll是Windows系统中的两个动态连接库文件。它们是Microsoft Visual C++ 2013 Redistributable Package中包含的文件,用于支持由Visual C++ 2013编译的应用程序在运行时调用。其中,msvcp120d.dll主要负责提供C++语言编写的应用程序所需要的标准C++库函数、数据类型和对象等支持,而msvcr120d.dll则提供C语言标准库函数的实现。 64位的msvcp120d.dllmsvcr120d.dll是为64位操作系统编译的,相比于32位版本,它们可以更好地支持大规模数据操作和计算,提高应用程序的稳定性和性能。 在一些特定情况下,用户可能会遇到缺少msvcp120d.dllmsvcr120d.dll错误提示。这时可以通过从官方网站下载Visual C++ 2013 Redistributable Package安装程序来解决。如果仍然无法解决,建议联系应用程序开发商或者确认操作系统是否需要更新。总的来说,msvcp120d.dllmsvcr120d.dll是非常重要的系统库文件,它们为Visual C++应用程序的正常运行提供了必要的支持。 ### 回答2: msvcp120d.dllmsvcr120d.dll是微软Visual C++ 2013的动态链接库文件,主要用于支持C++编写的程序的运行。其中,msvcp120d.dll是C++的标准库文件,包含了内存管理、STL容器、字符串和流等常用的函数;msvcr120d.dll是C运行时库文件,包含了一些基本的I/O和字符串处理函数等。 64位的msvcp120d.dllmsvcr120d.dll是针对64位操作系统的版本,其文件大小和功能与32位版本不同。64位版本可以支持更多的内存,提升程序运行性能,但同时也需要更快的CPU和更高的硬件要求。 在编写C++程序时,需要在代码中添加相关的头文件和库文件,用来调用这些动态链接库函数。若缺少相关库文件,程序将无法编译或者无法正常运行。因此,安装Visual C++ 2013或者Visual Studio等开发工具时,这些库文件会被自动安装到Windows系统目录下,供程序使用。 总之,msvcp120d.dllmsvcr120d.dll是C++编程所必需的重要组成部分,它们可以提供标准库函数和一些运行时支持,是保证程序正确性和高效性的关键。 ### 回答3: MSVCP120d.dllMSVCR120d.dll是Microsoft Visual Studio 2013中的两个库文件,用于C++开发语言编译和运行程序。 64位的msvcp120d.dll是一个C++ Runtime库文件,用于在64位Windows操作系统上运行C++编译的程序。它包含了一系列的函数和类,这些函数和类是为C++开发语言写的,可以在程序中使用。C++开发人员可以在编写程序的时候使用这些函数和类进行编程,从而简化代码的编写和维护,并加快开发效率。 而MSVCR120d.dll是一个C Runtime库文件,也是为了在Windows操作系统上运行C编译的程序。这个库文件中包含一些C语言标准库函数,如printf和scanf等。在编译C程序的时候,可以使用这些函数,从而更方便地完成程序的编写和调试。 总之,这两个库文件都是为C++和C编程开发人员提供的非常重要的库文件,在程序编译和运行过程中起着非常重要的作用,对于编写高质量、高效的程序来说具有重要的意义。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值