The program can't start because mfc120ud.dll is missing from your computer

前端 未结 4 1339
深忆病人
深忆病人 2021-01-13 01:57

I\'m trying to run an application that I\'ve recently developped onto another computer and which I\'ve compiled using VS2013.

Running it I get:

<
4条回答
  •  北荒
    北荒 (楼主)
    2021-01-13 02:26

    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:

    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.

提交回复
热议问题