ffmpeg 編譯問題記錄

2021-09-24 19:53:14 字數 1705 閱讀 5852

解壓

./configure \

--enable-nonfree \

--enable-shared \

--disable-static \

--enable-gpl \

--enable-libx264 \

--enable-ffmpeg \

--disable-asm \

--disable-optimizations \

--disable-stripping

--prefix: 指定安裝路徑

配置 makefile 遇到的一些問題參考問題記錄裡的內容

make

make

install

編譯安裝之後遇到的問題

error: libx264 not found
原因:libx264庫沒有找到

解決方法: 配置一下環境變數

指定的路徑就是x264的安裝路徑, 在lib目錄下面的pkgconfig目錄

warning: using libfdk without pkg-config

warning: using libx264 without pkg-config

這個問題我的解決方式是安裝pkg-config這個安裝包

sudo apt install pkg-config
在去執行configure就沒有錯誤了

編譯之後檢視目標檔案的鏈結情況ldd ffmpeg

看到的結果是有幾個庫沒有找到鏈結庫檔案, 顯示*** not found, 但是庫檔案是存在的.

查詢資料得知, 由於我們的編譯安裝路徑是在自己的目錄下,ld鏈結找不到這個庫檔案, 需要將庫的安裝路徑新增到ld config中.

# 編輯 /etc/ld.conf 檔案

vim /etc/ld.conf

include ld.so.conf.d/*.conf
# 然後執行命令

ldconfig

當然, 更好的方式不是編輯/etc/ld.conf檔案, 而是在/etc/ld.conf.d/目錄下建立乙個屬於自己的檔案, 不過需要注意的是, 檔案的結尾必須是以.conf為字尾.

最後說一下

pkg-config是乙個第三方庫的管理工具, 當需要引用第三方庫時, 通常的做法是將庫的標頭檔案路徑和庫的路徑都加到編譯選項中, 如果使用pkg-config會幫我們省去這一步驟.

第三方庫在編譯完成之後會在 庫的安裝路徑之下生成乙個pkgconfig的目錄, 如果編譯的時候需要第三方庫, 直接將這個目錄的路徑設定到pkg_config_path環境變數中, 在編譯的時候會去自動查詢第三方庫.

參考鏈結

鏈結出錯

pkg-config 介紹

FFmpeg編譯記錄

參照官方wiki編譯,鏈結為 一 copy and paste the whole code box for each step.sudo apt get update sudo apt get y install autoconf automake build essential git liba...

FFMPEG交叉編譯記錄

記錄一下自己踩過的坑,linux小白 1 ndk版本17之後使用clang編譯器,不使用gcc 2 初裝linux可能未安裝clang編譯器,需要先檢查下 終端輸入clang,若提示 not input file 則已安裝 sudo yum install epel release sudo yum...

opencv編譯相關問題記錄

在編譯opencv時,一般都是編譯成為動態庫,但是有時為了方便移植或者在其他地方安裝,會需要將其編譯成靜態庫的形式。這個時候只需要將cmake的 build shared libs 引數設為 off即可 可以採用如下命令來進行編譯 cmake d cmake build type release d...