天天看點

好工具推薦系列:Dependencies。可以解決MFC運作出錯:應用程式無法正常啟動0xc000007b

本人在Win7 64位系統,VS2013使用MFC編譯的程式,程式使用32位編譯。

生成的exe拷貝在純淨的作業系統WinXP/Win7,運作出錯:應用程式無法正常啟動0xc000007b

好工具推薦系列:Dependencies。可以解決MFC運作出錯:應用程式無法正常啟動0xc000007b

原因及對策:

dll檔案32位和64位混淆了。其根本原因是缺乏所需要的DLL,提供了錯誤版本的dll相當于沒有dll。

win7 64位作業系統裡,C:\Windows\System32檔案夾裡的dll為64位的,32位的dll在C:\Windows\SysWOW64裡。32位的程式誤用64位的dll自然會出錯,改從SysWOW64裡拷相應的dll裡即可。出人意料!System32和SysWOW64,容易被名字所迷惑!

另外,

32位MFC的.dll檔案也可以在C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\x86找到。

64位MFC的.dll檔案也可以在C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\redist\x64找到。

想要最新版本的redist,請通路:

The latest supported Visual C++ downloads

------附錄------

一、工具:depends,可以檢視exe檔案的依賴庫,僅适用于winxp/win7/win8,不能用于win10.

官網下載下傳:Dependency Walker (depends.exe) Home Page 分32位和64位兩種

https://github.com/multilang-depends/depends

使用方法:

1、點選工具欄上的檔案→打開,找到需要分析的exe可執行檔案即可,這裡就點選Depends.exe可執行檔案進行分析(可執行檔案格式,包括 DLL、EXE、FON)。

2、點選一個dll動态連結庫,右邊就會出現兩個視窗。第一個視窗是所選的Dll子產品所使用的函數,分為:序數、提示、函數、入口點等訊息。

3、下面視窗是所有需要的Dll子產品的屬性。出錯的資料會有紅色、黃色(有些是環境不同造成的)的警示問号。

二、(推薦)工具:Dependencies,可以應用在win7/win8/win10,不支援winxp,但還是推薦使用!

軟體下載下傳:

https://github.com/lucasg/Dependencies https://github.com/lucasg/Dependencies/releases

軟體依賴環境:

需要下載下傳Microsoft Visual C++ Redistributable,The latest supported Visual C++ downloads:

最後,運作程式:

DependenciesGui.exe

三、DLL檔案下載下傳網站:Download missing DLL files for free | DLL‑files.com