2012-05-16 112 views
1

我創建了一個包含Assimp項目的頭文件,lib文件和dll的項目。我將這些lib文件包含在VS2008項目中,並且編譯時沒有錯誤。我也將assimp dll複製到輸出文件夾,但是當我嘗試運行可執行文件時,它說它找不到Assimp32d.dll。執行程序時找不到DLL(C++)

我完全不知道爲什麼可執行文件無法「看到」dll。做什麼?

+0

如果您正在通過IDE運行,我將_think_它執行輸出目錄上方目錄中的程序。嘗試將DLL複製到一個級別。 – hmjd

+0

這個dll文件無處不在。它仍然給我同樣的錯誤。 –

+2

你拷貝了assimp32.dll,它無法找到assimp32d.dll? :) – peenut

回答

0

如果您正在運行MSVS2008,請檢查工作目錄。

property->Debugging->Working Directory // you could access to right button on the project menu. 

此外,請檢查dll的名稱。

assimp32.dll != assimp32 **d** .dll 

另外,你可以檢查是否收到所有的dll訪問到您的程序與http://www.dependencywalker.com/,只要打開你的EXE和種子的dll的依賴,如果這是訪問或沒有。

如果不是所有的都可以訪問,請複製(DLL),或在

控制面板\系統和安全\系統\高級\添加DLL目錄到%PATH%變量環境 變量

+0

是的,我複製的dll名稱是錯誤的(多餘的'd')。 assimp的調試DLL被命名爲assimp32d.dll,並且該版本被命名爲assimp32.dll。該lib文件想要的名稱爲「assimp32d.dll」,或至少,這就是我認爲的DLL。我只是將assimp32d.dll重命名爲assimp32.dll。 –