我正在將大型C++應用程序從Visual Studio 6遷移到VS2013中。我已經構建了exe和DLL。我已經解決了很多問題,並且能夠啓動該程序。程序啓動後,它停止運行。在使用Dependency Walker後,我相信問題是我的32位EXE和DLL試圖使用64位版本的MFC DLL。這裏有一個截屏:試圖使用64位MFC DLL的C++ 32位應用程序
我的理解是,32位應用程序會自動使用位於C的DLL:\ WINDOWS \ SYSWOW64目錄;但這似乎並沒有發生在這裏。
我已經在項目設置中尋找明顯的可能解決這個問題的東西,但我還沒有找到任何東西。我想知道你們有沒有遇到過這個問題,如果是的話,你們做了什麼來解決它?
感謝您的幫助!
的問候, 邁克
DependencyWalker曾經是一個值得信賴的工具,在它的時間。今天,它變得更加困惑。如果你的應用程序確實起飛了,它不能靜態鏈接到一個錯誤位數的DLL。不要相信DependencyWalker。使用其他工具來診斷問題。 – IInspectable
@IInspectable什麼工具? – sergiol
您可以使用Process Monitor(從Microsoft免費下載)查看正在嘗試加載的文件。如果您在調試器下運行,您可以看到哪些文件正在您的模塊列表中加載。 –