2011-11-17 108 views
2

我有一個簡單的32位應用程序正在運行。它使用Qt和其他庫。找出清單後,我有一個包含應用程序,清單和依賴DLL的文件夾。在Windows 7 64位直接從U盤上運行目標機器上的作品。將其複製到D:\驅動器上的文件夾中,並且它可以工作。在依賴DLL的Windows 7上運行32位應用程序

Program files (x86)下複製這一個文件夾,我得到:

R6034。應用程序嘗試錯誤地加載C運行時庫。

我有我的可執行文件的清單。我也有這個論壇中其他地方建議的文件夾中的msvc*.dll的清單。那麼,爲什麼這個工作除了它應該在的地方以外都在工作?

+0

什麼版本的Visual C++? –

+0

您是否考慮過使用靜態運行時而不是DLL? –

+0

本。這是VC2008。哈利,是的,但我希望不要去那裏。在我看來,Windows 7 64位有一些我不明白的地方。構建爲32位的相同應用程序完美工作。 – ExpatEgghead

回答

1

Dependency Walker將在這裏幫助 - 當它處於工作狀態時,在你的.exe上運行它,當它不在你的應用程序嘗試使用的C運行時庫的位置時(我相信它應該是msvcrt.dll如果你在發佈,msvcrtd.dll如果你不是),你會希望能夠發現一個區別。

我不知道你可以從那裏去 - 也許部署正確版本的DLL到您的.exe相同的文件夾?

+0

sjwarner - 謝謝。我已經使用了很多依賴關係的步行者,除了通常忽略的ieshims.sll以外,並沒有顯示任何問題。我所有的DLL,包括運行時DLL都部署在與.exe相同的文件夾中。 – ExpatEgghead

相關問題