这里是configure文件:
cd ffmpeg
export NDK=C:/cygwin64/home/Harvey/android-ndk-r11b_win64
export PREBUILT=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64
export PLATFORM=$NDK/platforms/android-8/arch-arm
export PREFIX=../simplefflib
build_one(){
./configure --target-os=linux \
--disable-asm \
--prefix=$PREFIX \
--enable-cross-compile \
--enable-runtime-cpudetect \
--arch=arm \
--cross-prefix=$PREBUILT/bin/arm-linux-androideabi- \
--disable-stripping \
--sysroot=$PLATFORM \
--enable-gpl \
--enable-shared \
--disable-static \
--enable-small \
--disable-ffprobe \
--disable-ffplay \
--disable-ffmpeg \
--disable-ffserver \
--disable-debug \
--extra-cflags="-fPIC -DANDROID -D__thumb__ -mthumb -Wfatal-errors -Wno-deprecated -mfloat-abi=softfp -marm -march=armv7-a"
}
build_one
cd ..
这里需要注意的是:由于cygwin的关系, 在整个脚本中不能有任何的直接以根目录出现的目录, 必须用Windows下的路径.
1. 目录$NDK不能使用cygwin下的路径, 需要使用windows下的路径.
2. 需要将configure文件中的tmp目录也改为windows下的路径:
# set temporary file name
#: ${TMPDIR:=$TEMPDIR}
#: ${TMPDIR:=$TMP}
#: ${TMPDIR:=/tmp}
: ${TMPDIR:=C:/cygwin64/tmp}
否则会报错: C compiler test failed.