2016-09-08 51 views
0

我在使用C++項目中的dll時遇到了一個問題!我的問題是:找不到avcodec.dll!(我的代碼打不開):實際上我想從avcodec.dll調用avcodec_license。我測試了這個另一個dll,但同樣的問題給我看。 (跳轉到其他部分)在C++中調用時找不到並打開dll

謝謝

+2

如果LoadLibrary調用失敗,您應該調用'GetLastError'。 – PaulMcKenzie

+2

有很多原因,它不是開放的。你有沒有嘗試加載「依賴沃克」DLL? –

回答

0

如果Dependency Walker沒有給你一個想法,爲什麼您的庫無法加載,如果GetLastError代碼也沒有幫助,您可以使用可用於內部跟蹤日誌LoadLibrary

這是相當先進的功能,它需要你得到實用程序。它是Debugging Tools for Windows的一部分。要啓用日誌記錄,請運行以下命令:

gflags.exe -i YouProject.exe +sls 

之後,在調試器中運行您的應用程序以查看跟蹤日誌輸出。

+0

我已經有'Windows調試工具'並運行以下命令:gflags.exe -i MyProject.exe + sls。 並啓用設置中的異常記錄。但日誌保存在哪裏? – Sina

+0

@Sina在調試器中運行應用程序。如果您使用Visual Studio,日誌將在「調試器輸出」視圖中可見。 – Nikita

0

感謝球員...

我剛剛從64更改調試CFG到x86和函數名「avcodec_license」我沒有在DLL源看到和更改爲「avcodec_version」!無論什麼......它的工作!感謝你與我分享你的經驗。

不錯:)