FFMPEG DEBUG xxxx函式無法連結XXX.DLL
阿新 • • 發佈:2018-12-17
環境:VS2015 Debug 模式: FFMPEG LIB檔案、DLL檔案都是通過官網下載
出現問題:xxxx函式無法連結XXX.DLL
通過跟蹤標頭檔案發現 XXXX函式並不在XXX.DLL 中
再通過調整新增LIB檔案的順序,發現 後面的XXX.DLL 會跟隨改變,大體將問題確定到LIB檔案和DLL檔案不匹配的問題上。
嘗試:由於使用最終使用時EXE要呼叫DLL,所以通過dumplin來將DLL轉換為.DEF檔案,再通過.DEF檔案轉換為.LIB檔案
vc/bin目錄下 命令列模式輸入:
dumpbin /exports avcodec-58.dll > avcodec-58.def
再輸入:
lib /def:avcodec-58..def /machine:i386 /out:avcodec-58..lib
得到.LIB檔案。測試,未成功。
後根據下載的LIB檔案中自帶的.DEF檔案,生成.LIB檔案,即
lib /def:avcodec-58..def /machine:i386 /out:avcodec-58.lib
生成的.LIB檔案可以正常使用。
兩者的區別在於.DEF檔案不同,一個是.LIB下載時LIB資料夾下的.DEF,一個是.DLL生成的.DEF檔案。兩者可能由於我本地的工具環境有所差別。
此時可以除錯包含FFMPEG的程式。
具體原因未知,之後再探索,如有知道的也可以賜教一番。