打开我的项目 exe 后缺少 mfc120d.dll

Posted

技术标签:

【中文标题】打开我的项目 exe 后缺少 mfc120d.dll【英文标题】:mfc120d.dll is missing after opening my project exe 【发布时间】:2019-02-20 09:55:49 【问题描述】:

我有一个 MFC vc++ 项目,并且我有使用 Visual Studio 2013 的该项目的 exe 文件。当我打开项目 exe 时,它​​在我的开发机器上运行良好。

但是当我在客户的机器上打开这个 exe 时,我会收到以下错误消息:

程序无法启动,因为您的计算机中缺少 mfc120d.dll。尝试重新安装程序以解决此问题

我注意到如果系统安装了 Visual Studio,我的项目 exe 文件正在运行。我还安装了“Visual C++ Redistributable Packages for Visual Studio 2013”,但即便如此我也遇到了同样的错误。请提出解决方案。

【问题讨论】:

仔细阅读错误信息。 mfc120.dll 没有丢失,但 mfc120d.dll 丢失了。您已在客户计算机上部署了 .exe 的调试版本。而是部署发布版本。相关:***.com/questions/22939558/… The program can't start because mfc120ud.dll is missing from your computer的可能重复 感谢您的建议。我安装了 32 位版本的 Visual C++ Redistribute,并在我的项目中删除了不需要的第三方调试 dll。现在它正在工作。 【参考方案1】:

这是因为您部署了应用的调试版本。如果这是故意的(能够远程调试?),您可以从 VS2013 安装目录中找到并部署 mfc120d.dll。 否则只需构建发布配置就可以了。

【讨论】:

以上是关于打开我的项目 exe 后缺少 mfc120d.dll的主要内容,如果未能解决你的问题,请参考以下文章

MFC120u.dll“丢失”

使用 mfc 的 EXE(调试)无法在其他 PC 上运行

计算机丢失msvcp120.dll解决办法

处理丢失 MSVCP140D.dll 的 Visual Studio 设置

运行VC++MFC【exe】总是提示缺少afxres.h文件,怎么办呢?

MFC .exe 和 .dll 为相同的代码产生不同的结果 [关闭]