Windows64位上 藉助msys2 編譯FFmpeg源碼 記錄

雷霄驊(leixiaohua1020)    https://blog.csdn.net/leixiaohua1020/article/details/47008825    前人栽樹,後人乘涼,天妒英才。

 

一、下載mys2  http://www.msys2.org/  x86

更新MSYS2     安裝一些必須的工具,這裏可能也不全

pacman -Syu

pacman -S make gcc perl diffutils yasm nasm vim base-devel pkg-config

二、下載ffmpeg源碼

最新的版本編譯make的時候卡在了udp.o過不去,下載的歷史版本4.0.3,可能是configure的問題,還在學習。

三、

先修改configure文件


#SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'
#LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'
#SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'
#SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)'
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
SLIB_INSTALL_LINKS='$(SLIBNAME)'

在源碼目錄裏添加build.sh,我的build.sh如下


make clean

export NDK=D:/android-ndk-r14b
export PLATFORM=$NDK/platforms/android-14/arch-arm
export TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64
export PREFIX=../androidfflib
export ADDI_CFLAGS="-marm"
export TMPDIR=D:/ffmpeg-4.0.3/temp
build_one(){
./configure --target-os=linux \
--extra-libs=-lgcc \
--prefix=$PREFIX --arch=arm \
--enable-cross-compile \
--disable-doc \
--enable-shared \
--disable-static \
--disable-asm \
--disable-symver \
--enable-gpl \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--cc=$TOOLCHAIN/bin/arm-linux-androideabi-gcc \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--sysroot=$PLATFORM \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
--extra-ldflags="$ADDI_CFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG
}
build_one

運行msys2 mingw x86,cd d:ffmpeg-4.0.3

運行腳本 ./build.sh

等待一會成功之後再

make 

make install
 

生成文件夾在build.sh的上一級目錄內容如下

 

build編譯腳本,參考: ubuntu14.04系統Android NDK編譯ffmpeg遇到的問題  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章