2016-03-07 49 views
0

我在基於x64的處理器中使用Visual Studio 2010。LoadLibrary(xx.dll),錯誤126

我有錯誤LoadLibrary(_T("xx.dll")) with 126.

我試圖Dependency Walker中找出所有.dll和模塊,功能依賴性。它顯示一切都很好。

其實舊代碼在32位操作系統中正常工作並編譯。我搬到64位操作系統後,出現錯誤。

我使用.exe文件將所有.dll庫複製到同一目錄中。

編譯xx.dll在32位然後在64位執行後是否有任何衝突?

非常感謝您的任何建議和意見。

+0

您現在在64位應用程序中使用舊的32位DLL嗎? – Youka

+0

@Youka感謝您的快速回復。是的,我已將所有舊的DLL複製到我的64位應用程序中。 – Tuvi

+1

這是一個簡單的「文件未找到」的錯誤,我們無法爲您找到它。啓用加載程序捕捉或使用SysInternals的進程監視器來了解哪個DLL是問題。 –

回答

0

64位應用程序無法加載32位DLL,WOW64(64位上的Windows 32位仿真)僅適用於產卵過程/可執行文件,而不適用於運行時。已經在SO上多次回答,例如here

您需要編譯/獲取您的DLL的64位版本。

+0

謝謝。我刪除了所有舊的.dll,並刪除了與32位相關的所有代碼。最後它工作。 – Tuvi

相關問題