mingw編譯ffmpeg(移植到android)

直接上圖:
 圖片
這個就是NDK所在目錄;
個人所用的NDK的版本: android-ndk-r8e;
 

圖片
這個是ffmpeg所在目錄;

在該目錄下創建configure.sh文件,內容如下:
#!/bin/bash

export TMPDIR="G:/temp/android"
export LLLIB="C:/MinGW/msys/1.0/ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/lib/gcc/arm-linux-androideabi/4.4.3"
export LLSCRIPT="C:/MinGW/msys/1.0/ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/arm-linux-androideabi/lib/ldscripts"
export NNLIBS="C:/MinGW/msys/1.0/ndk/platforms/android-8/arch-arm"
export NNINC="C:/MinGW/msys/1.0/ndk/platforms/android-8/arch-arm/usr/include"

PREBUILT=/usr/ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows
PLATFORM=/usr/ndk/platforms/android-8/arch-arm

./configure --target-os=linux \
        --arch=arm \
        --disable-debug \
        --disable-ffmpeg \
        --disable-ffplay \
        --disable-ffserver \
        --disable-ffprobe \
        --disable-encoders \
        --disable-muxers \
        --disable-demuxers \
        --disable-parsers \
        --disable-devices \
        --disable-protocols \
        --disable-filters \
        --disable-decoders \
        --enable-decoder=h264 \
        --disable-avfilter \
        --disable-network \
        --disable-avdevice \
        --disable-avformat \
        --disable-swresample \
        --disable-swscale \
        --disable-avresample \
        --disable-bsfs \
        --disable-bzlib \
        --disable-iconv \
        --disable-zlib \
        --disable-error-resilience \
        --disable-doc \
        --enable-cross-compile \
        --cc=$PREBUILT/bin/arm-linux-androideabi-gcc \
        --cross-prefix=$PREBUILT/bin/arm-linux-androideabi- \
        --nm=$PREBUILT/bin/arm-linux-androideabi-nm \
        --extra-cflags="-I$NNINC -fPIC -DANDROID" \
        --enable-neon \
        --enable-armv5te \
        --extra-ldflags="-Wl,-T,$LLSCRIPT/armelf_linux_eabi.x -Wl,-rpath-link=$NNLIBS/usr/lib -L$NNLIBS/usr/lib -nostdlib $LLLIB/crtbegin.o $LLLIB/crtend.o -lc -lm -ldl" 


文件結構截圖: 
圖片 
個人使用的時候限制只解碼h264數據,禁用了其他的協議、模塊等等,根據自己需要去更改; 
至於configure.sh文件裏面的路徑,自己去設置了;
configure.sh文件寫的比較挫,沒辦法,實在是不精通這玩意兒,能過就好; 


 然後在minggw命令行裏面運行如下:
 圖片

然後make即可;
生成了兩個.a文件:
圖片
至於.a文件的大小可能不同,個人的是裁剪過的,至於如何裁剪那就是根據個人需要了;

現在只是編譯通過,至於能不能跑起來明天的事了,今天手機始終無法連接上,悲劇!@!!!!!
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章