[英]The program can't start because mfc120ud.dll is missing from your computer
I'm trying to run an application that I've recently developped onto another computer and which I've compiled using VS2013. 我正在尝试运行我最近开发到另一台计算机上的应用程序,并且我使用VS2013编译了该应用程序。
Running it I get: 运行它我得到:
The program can't start because mfc120ud.dll is missing from your computer.
程序无法启动,因为您的计算机缺少mfc120ud.dll。 Try reinstalling the program to fix this problem.
尝试重新安装该程序以解决此问题。
I've searched the mfc120ud.dll from the net but without any result. 我从网上搜索了mfc120ud.dll但没有任何结果。 I've copied/pasted this dll file from the computer on which I've developed that app onto the system32 of the other computer, doing that implies:
我已经将这个dll文件从我开发该应用程序的计算机上复制/粘贴到另一台计算机的system32上,这意味着:
C:\\Users\\u\\System32\\mfc120ud.dll is either not designed to run on Windows or it contains an error.
C:\\ Users \\ u \\ System32 \\ mfc120ud.dll要么不是设计为在Windows上运行,要么包含错误。 Try installing the program again using the original installation media or contact your system administrator or the software vendor for support.
尝试使用原始安装介质再次安装程序,或与系统管理员或软件供应商联系以获取支持。
Knowing that the computer on which I'm developing is a 64-bits one and the other one is 32-bits, and that I've copied/pasted the mfc120ud.dll version from System32, how do I to fix this issue? 知道我正在开发的计算机是64位的,另一个是32位,并且我已经从System32复制/粘贴了mfc120ud.dll版本,我该如何解决这个问题?
The program can't start because mfc120ud.dll is missing from your computer.
程序无法启动,因为您的计算机缺少mfc120ud.dll。 Try reinstalling the program to fix this problem.
尝试重新安装该程序以解决此问题。
That is one of the debug libraries for MFC. 这是MFC的调试库之一。 That's the library that you link against when you build debug releases of your program.
这是您在构建程序的调试版本时链接的库。 It is present on your developer machine, but you cannot redistribute it.
它存在于您的开发人员计算机上,但您无法重新分发它。
You need to do the following: 您需要执行以下操作:
I've copied/pasted the mfc120ud.dll version from System32
我已经从System32复制/粘贴了mfc120ud.dll版本
You are not allowed to do that. 你不被允许这样做。 Retrace your steps and undo that.
回顾你的步骤并撤消它。
Check if you've accidentally defined _DEBUG in your preprocessor definitions. 检查您是否在预处理器定义中意外定义了_DEBUG。
I once had the same error when I copy pasted settings from the debug build. 当我从调试版本中复制粘贴的设置时,我曾经遇到过同样的错误。
For me, I build the project using VS2013 xp mode. 对我来说,我使用VS2013 xp模式构建项目。 Then deployed on window XP system.
然后部署在Windows XP系统上。 Then I got error that mfc120ud.dll is missing.
然后我得到mfc120ud.dll丢失的错误。 I installed vcredist.exe for vs2013, which fixed the issue.
我为vs2013安装了vcredist.exe,修复了这个问题。 I am able to run my MFC app.
我能够运行我的MFC应用程序。
When I encountered a similar problem, first installed the VS 2013 C++ redistributables vcredist_x86.exe and vcredist_x64.exe ( https://support.microsoft.com/en-us/help/3138367/update-for-visual-c-2013-and-visual-c-redistributable-package ), then I determined what dependencies the file had: 当我遇到类似问题时,首先安装VS 2013 C ++可再发行组件vcredist_x86.exe和vcredist_x64.exe( https://support.microsoft.com/en-us/help/3138367/update-for-visual-c-2013- and-visual-c-redistributable-package ),然后我确定了文件的依赖关系:
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin>dumpbin.exe /dependents "C:\Temp\MyLibrary.dll"
Microsoft (R) COFF/PE Dumper Version 9.00.30729.01
Copyright (C) Microsoft Corporation. All rights reserved.
Dump of file C:\Temp\MyLibrary.dll
File Type: DLL
Image has the following dependencies:
mfc120d.dll
MSVCR120D.dll
KERNEL32.dll
USER32.dll
OLEAUT32.dll
mscoree.dll
Image has the following delay load dependencies:
MyLibraryCoreD.dll
Summary
5000 .data
2000 .nep
1000 .pdata
4E000 .rdata
1000 .reloc
1000 .rsrc
10000 .text
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin>
Next I searched the registry and it did not find mfc120d.dll, only mfc120.dll and mfc120u.dll (see https://serverfault.com/questions/576831/how-do-i-know-if-a-dll-is-registered ), so instead of using the debug version I switched to the release version which uses mfc120.dll and the application worked. 接下来我搜索了注册表,它没有找到mfc120d.dll,只有mfc120.dll和mfc120u.dll(参见https://serverfault.com/questions/576831/how-do-i-know-if-a-dll- is-registered ),所以我没有使用调试版本,而是切换到使用mfc120.dll的应用程序并且应用程序正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.