找不到MSVCP140D.dll,无法继续执行代码。解决记录

问题

想使用VisualStudio 2019在客户机上远程调试软件,编译好程序后部署到客户机上,运行时报错:

问题解决

遇到MSVCP140D丢失时,因为程序是32位的,所以从开发环境System32下的MSVCP140D.dll复制到客户机上, 报错 “应用程序无法正常启动(0xc00000d),请点击“确定”关闭程序。”,当尝试吧SysWOW64下的MSVCP140D.dll复制到客户机上后,问题解决。

原因是开发环境中有一些不当(不清楚具体那个软件搞的鬼)的安装,会把64位的MSVCP140D.dll放到Windows/System32下,把32位的MSVCP140D.dll放到Windows/SysWOW64下!

如果遇到“应用程序无法正常启动...请单击“确定”关闭程序。”,有可能32位软件需要x86的MSVCP140D.dll,但是你却放了一个x64的MSVCP140D.dll.

可以通过VS提供的工具"x64 Native Tools Command Prompt for VS 2019" dumpbin /headers xx.exe/xx.dll  命令确认程序是x86还是x64;

例如我确认MSVCP140D.dll到底是x86还是x64

 如图: <X86>表示MSVCP140D.dll是一个x86位动态库

 

 

posted @ 2023-01-14 20:36  耿明岩  阅读(668)  评论(0编辑  收藏  举报
希望能帮助到你,顺利解决问题! ...G(^_−)☆