標題非常簡單 - 在x64中構建時我無法獲取任何內容,因此我收到了帶有此錯誤代碼的消息框。你知道這裏可能是什麼問題嗎?MSVC 2010 - 錯誤0xc000007b在x64中構建時
回答
這是STATUS_INVALID_IMAGE_FORMAT
,您可以在ntstatus.h SDK頭文件中找到這些錯誤代碼。
這當然與構建x64代碼密切相關。只要你的程序依賴於32位代碼,你就會得到這個狀態碼,特別是在DLL中。當它在啓動時嘗試加載DLL時,程序將無法啓動,64位進程不能包含任何32位代碼。或者反過來,一個32位進程試圖加載一個64位DLL。
查看您程序的所有依賴項,特別是鏈接的導入庫。一切都必須建立目標x64。您可以使用SysInternals的ProcMon實用程序來查找無法加載的DLL,以防萬一這是一個DLL地獄問題。
感謝您的指導 - 我有一個版本的msvcr100d.dll,它不是64位兼容的,我在發佈之後意識到發佈版本的exe運行良好,我用正確的文件替換了這個文件,一切都很好現在。 – Philip
鏈接到http://stackoverflow.com/questions/21356654/vs2012-error-the-application-w as-unable-to-start-correctly-0xc000007b/21356714#21356714其中提到了依賴性沃克,它幫助我找到引用的64位庫。 – MiroJanosik
除了上面的正確答案之外,還要檢查你的.manifest-files(或者#pragma comment(linker,/ manifestdependency ...)並確保你的processorArchitecture ='x86' bit and processorArchitecture ='amd64'for x64 code。
根據MSDN'processorArchitecture'應該是ia64的x64代碼。 – Andreas
- 1. MSVC 2010應用程序0xc000007b錯誤
- 2. 在msvc 2010中構建boost MPI的錯誤
- 3. 錯誤建築的OpenSSL 1.0.1c與MSVC 2010
- 4. 錯誤0xc000007b時mongod.exe/mongo.exe
- 5. 在Visual Studio 2010中映射的運行時錯誤x64
- 6. 與MSVC x64的fesetround
- 7. MSVC++ 2010快速鏈接器錯誤LNK2005
- 8. 錯誤建築升壓1.50與MSVC的bjam 2010
- 9. 這是MSVC 2010中的錯誤還是我做錯了什麼?
- 10. 鏈接MinGW64庫與MSVC 2010
- 11. 如何在Windows上構建x64 Boost庫?
- 12. Visual Studio 2010在WIN7 X64中沒有響應和佈局錯誤
- 13. 在CentOS 5.6上構建並安裝Qt-4.7.3錯誤x64
- 14. Visual Studio 2010 TFS構建錯誤
- 15. 爲Visual Studio 2010構建Qt的錯誤
- 16. CUDA Visual Studio 2010 Express構建錯誤
- 17. 與VS 2010和FindRibbons構建錯誤
- 18. SDL/C IMG_Load觸發0xc000007b錯誤
- 19. 構建Boost.Python時未解決的錯誤
- 20. 在VS 2010中檢查所有構建配置中的錯誤
- 21. 如何使用MSVC構建Gnuplot? (syscfg.h(377):錯誤)
- 22. C++/CLI msvC++ 2010類問題
- 23. 無法使用MSVC 2010構建qt5.2.1 static x86
- 24. WDK編譯時使用x64檢查構建環境時出錯
- 25. MSVC中的ODR錯誤?
- 26. 構建一個正確鏈接的可執行文件以避免錯誤0xc000007b
- 27. 無法在x64中構建gdal
- 28. TFS 2010在構建定義文件中隱藏 - 錯誤
- 29. 構建後腳本在VIsual Studio 2010中拋出錯誤
- 30. 在Visual Studio 2010中構建C項目的錯誤
原來這只是在調試模式下發生的,所以我能夠弄清楚我的一個dll只有32位,一旦我更換了它,一切都很好。 – Philip