FFMPEG交叉編譯記錄

2021-10-10 05:26:00 字數 1412 閱讀 5010

記錄一下自己踩過的坑,linux小白

1、ndk版本17之後使用clang編譯器,不使用gcc

2、初裝linux可能未安裝clang編譯器,需要先檢查下

終端輸入clang,若提示 not input file 則已安裝

sudo yum install epel-release

sudo yum install clang

安裝指導:在centos 7上安裝clang

3、編譯失敗進入ffbuild/config.log檢視最後一行,提示「/lib64/libc.so.6: version `glibc_2.15』 not found」

strings /lib64/libc.so.6 | grep glibc

4、提示找不到"config.mak"等檔案

可先執行 ./configure 進行生成,再執行shell指令碼

5、需要同時編譯多個cpu架構

修改build.sh指令碼檔案

#!/bin/bash

set -x

# 目標android版本

api=21

cpu=armv7-a

#so庫輸出目錄

output=/root/desktop/android/$cpu

# ndk的路徑,根據自己的ndk位置進行設定

ndk=/root/czb/android-ndk-r20b

# 編譯工具鏈路徑

toolchain=$ndk/toolchains/llvm/prebuilt/linux-x86_64

# 編譯環境

sysroot=$toolchain/sysroot

function start_build

#armv8-a架構

arch=arm64

cpu=armv8-a

api=21

prefix=$toolchain/bin/aarch64-linux-android-

prefit_clang=$toolchain/bin/aarch64-linux-android$api-

output=/root/desktop/android/$cpu

start_build

#armv7-a架構

arch=arm

cpu=armv7-a

output=/root/desktop/android/$cpu

api=21

prefix=$toolchain/bin/arm-linux-androideabi-

prefit_clang=$toolchain/bin/armv7a-linux-androideabi$api-

start_build

交叉編譯ffmpeg

ffmpeg原始碼可從獲取。本人使用的是v2.8。前提條件 海思檢查編譯工具鏈已經裝好 可用echo path檢視是否裝好,示例如下 修改ffmpeg的編譯配置檔案.configure,可用命令列配置。如下是我的配置 configure prefix out ffmpeg disable yasm ...

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及其交叉編譯(理論)

以下給出個人在學習ffmpeg的完整過程,僅供參考。引言 因為在專案預研階段,每個人的環境有所不一樣,所以在編譯過程中十分注意 配置環境 依賴庫 外接開源庫。其實這些都是為了統一專案環境而已。避免開發階段發現,咦你原來缺來乙個庫,然而之前找了兩天的bug。但跟以往自己隨意編譯乙個開源庫不一樣,進一步...