问题:可能有一些朋友在启动软件时会遇到下面的问题:无法启动此程序,因为计算机中缺失MSVCP140D.dll。
一、MSVCP140D.dll是什么:
这是一个动态链接库文件,程序可根据DLL文件中的指令打开、启用、查询、禁用和关闭驱动程序。Microsoft Visual C++ Redistributable for Visual Studio 2015 库文件的一部分。这个文件是一些需要 Visual Studio 2015 支持的程序所必需的。
根本原因:用到了cout依赖iostream库,这个库必须依赖msvcp140d.dll这个库。
二、MSVCP140D.dll缺失的原因:
可能如下:
-
程序无法启动,因为计算机缺少 msvcp140d.dll 。
-
启动 msvcp140d.dll 发生错误。无法找到指定的模块
-
加载 msvcp140d.dll 发生错误。无法找到指定的模块
-
msvcp140d.dll 的设计可能不适合在 Windows 上运行,或可能包含错误。
这里我查看了自己的文件,发现确实是缺少了这个文件,
三、解决方法有:
1.下载好缺失的库放在C:\Windows\system32文件下,MSVCP140D.dll缺失报错解决。
下载地址:msvcp140d.dll 免费下载 | DLL‑files.com (dll-files.com)
注意:
1)系统版本要对应;
2)运行64位系统时,32位的也要拷贝过去。64位程序的运行,起始是依赖32位的。
2.不采用debug模式换release模式
在编译生成可执行文件时,不采用debug模式改用release模式。
debug和release的区别:
Debug:调试版本,编译的结果通常包含调试信息,而且不做任何优化,提供强大的应用程序调试能力。该模式下生成两个文件:除了.exe或者.dll文件外,还有一个.pdb文件,该文件记录了代码中断点等调试信息。
Release:发布版本,进行了各种优化,以期达到代码最小和速度最优。为用户使用提供便利。该模式下生成一个.exe或者.dll文件。
Debug允许对源码进行调试,Release则不对源码进行调试。
Obj文件夹的作用:
在obj目录中,有debug和release两个子目录,是项目生成dll的源目录,将生成好的dll复制到bin目录下。每个模块的编译结果读保存在obj目录下,最后会合并为一个.exe或者.dll文件,保存在bin目录下。
不能将debug和release版的DLL混合在一起使用。
-
bin是放最终代码的目录 。
-
obj就放中间代码的目录release和debug是不同的运行方式。
-
debug会增加调试代码,方便调试。
-
调试完后,用release版本发布,没有调试代码,减小程序体积,加快执行速度。