1
我檢查了我的版本的x264 dll文件,打開的函數名爲'x264_encoder_open_130',而130恰好是我使用的x264的特定版本號。我建立在Windows上使用minGW並鏈接到它,所以我的程序會崩潰,如果我嘗試使用較新的DLL ..有沒有辦法解決這個問題?libx264.dll公開函數x264_encoder_open_130,不應該是x264_encoder_open?
我檢查了我的版本的x264 dll文件,打開的函數名爲'x264_encoder_open_130',而130恰好是我使用的x264的特定版本號。我建立在Windows上使用minGW並鏈接到它,所以我的程序會崩潰,如果我嘗試使用較新的DLL ..有沒有辦法解決這個問題?libx264.dll公開函數x264_encoder_open_130,不應該是x264_encoder_open?
不,不應該是x264_encoder_open
。這是一種設計措施,以確保更高級別的二進制文件是針對適當版本的依賴關係DLL構建的,否則由於導出名稱不匹配,二者不能很好地連接在一起。
解決這個問題非常簡單 - 如果您升級x264,還可以根據更新的庫重建應用程序。或者,如果您希望您的應用程序可以在不重建的情況下升級,請將x264包裝爲薄包裝,您將隨x264本身一起升級,以便頂級應用程序鏈接到不會升級其外部接口的包裝。