我正在尝试运行我最近开发到另一台计算机上的应用程序,并且我使用VS2013编译了该应用程序。
运行它我得到:
程序无法启动,因为您的计算机缺少mfc120ud.dll。尝试重新安装该程序以解决此问题。
我从网上搜索过mfc120ud.dll但没有任何结果。我已将这个dll文件从我开发该应用程序的计算机复制/粘贴到另一台计算机的system32上,这意味着:
C:\ Users \ u \ System32 \ mfc120ud.dll未设计为在Windows上运行或包含错误。尝试使用原始安装介质再次安装程序,或与系统管理员或软件供应商联系以获取支持。
知道我正在开发的计算机是64位,另一台是32位,并且我从System32复制/粘贴了mfc120ud.dll版本,我该如何解决这个问题问题
答案 0 :(得分:9)
程序无法启动,因为您的计算机缺少mfc120ud.dll。尝试重新安装该程序以解决此问题。
这是MFC的调试库之一。这是您在构建程序的调试版本时链接的库。它存在于您的开发人员计算机上,但您无法重新分发它。
您需要执行以下操作:
我已经从System32复制/粘贴了mfc120ud.dll版本
你不被允许这样做。回顾你的步骤并撤消它。
答案 1 :(得分:1)
检查您是否在预处理器定义中意外定义了_DEBUG。
当我从调试版本中复制粘贴的设置时,我曾遇到过同样的错误。
答案 2 :(得分:0)
对我来说,我使用VS2013 xp模式构建项目。然后部署在Windows XP系统上。然后我得到mfc120ud.dll丢失的错误。 我为vs2013安装了vcredist.exe,修复了这个问题。 我可以运行我的MFC应用程序。
答案 3 :(得分:0)
当我遇到类似的问题时,首先安装了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>
接下来我搜索了注册表,它没有找到mfc120d.dll,只有mfc120.dll和mfc120u.dll(参见https://serverfault.com/questions/576831/how-do-i-know-if-a-dll-is-registered),所以我没有使用调试版本而是切换到使用mfc120的发行版本.dll和应用程序工作。