Windows下使用Cygwin编译FFmpeg注意事项.

时间:2022-08-08 01:56:45

这里是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.