問題 1.如何編譯安裝
解決方法:見後續博文的整理
問題2 鏈接出現undefined reference to symbol 'dlclose@@GLIBC_2.2.5
因爲我們按照教程生產的庫文件爲靜態庫文件,鏈接時,會出現這種問題,在相關的CMakelists.txt中加入相關的庫文件即可。
那麼如何查找相關的庫文件呢?
解決方法:
首先保證編譯安裝成功後的ffmpeg文件可用,即使用ffmpeg命令不報錯。
然後對無法定義到的符號例如dlclose通過百度或者谷歌找到相關的庫文件名稱,例如dlclose依賴的是dl這個庫
然後,定位到ffmpeg命令的位置,使用ldd找到鏈接的庫文件位置
接着,在編譯的CMakeLists.txt文件中,修改路徑即可
這種解決方法也適用於以下問題
libavcodec.a(allcodecs.o): undefined reference to symbol 'pthread_once@@GLIBC_2.2.5
undefined reference to symbol 'uncompress
undefined reference to symbol 'lzma_code@@XZ_5.0