記錄一下自己踩過的坑,linux小白
1、ndk版本17之後使用clang編譯器,不使用gcc
2、初裝linux可能未安裝clang編譯器,需要先檢查下
終端輸入clang,若提示 not input file 則已安裝
sudo yum install epel-release安裝指導:在centos 7上安裝clangsudo yum install clang
3、編譯失敗進入ffbuild/config.log檢視最後一行,提示「/lib64/libc.so.6: version `glibc_2.15』 not found」
strings /lib64/libc.so.6 | grep glibc4、提示找不到"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。但跟以往自己隨意編譯乙個開源庫不一樣,進一步...