编译环境:
windows xp
Cygwin 1.1.3.1
NDK r9
1.提示各种command not found
比如
./config.sh: line 6: $'--arch=arm ': command not found
可以看到arm后面有个' ' unix文件换行和win下面不一样 需要用ultraedit 文件-转换-dos转unix
2.临时目录问题,各种提示.....tempNo such file or directory
更改ffmpeg自带的configure文件
# set temporary file name
: ${TMPDIR:=$TEMPDIR}
: ${TMPDIR:=$TMP}
: ${TMPDIR:=tmp}改为
# set temporary file name
: ${TMPDIR:=$TEMPDIR}
: ${TMPDIR:=$TMP}
: ${TMPDIR:=D:/cygwin/tmp}
cygwin:bash
$export TMPDIR=D:/cygwin/tmp
都要确保D:/cygwin/tmp路径存在
3.GCC找不到文件的问题
arm-linux-androideabi-gcc.exe: ../crtbegin_static.o: No such file or directory
arm-linux-androideabi-gcc.exe: ../crtend_android.o: No such file or directory
路径错误。全部写成绝对路径。我的config.sh如下:
#!/bin/bash PREBUILT=D:/android-ndk-r9/toolchains/arm-linux-androideabi-4.8/prebuilt/windows PLATFORM=android-8 ARCH=--arch=arm ./configure ${ARCH} --target-os=linux --enable-cross-compile --cross-prefix=${PREBUILT}/bin/arm-linux-androideabi- --extra-cflags=" -fPIC -DANDROID -std=c99 " --enable-version3 --enable-gpl --enable-nonfree --disable-stripping --disable-ffmpeg --disable-ffplay --disable-ffserver --disable-ffprobe --disable-encoders --disable-muxers --disable-devices --disable-protocols --enable-protocol=file --enable-avfilter --disable-network --disable-avdevice --disable-asm --enable-neon --enable-armv5te --sysinclude=D:/android-ndk-r9/platforms/${PLATFORM}/arch-arm/usr/include --extra-ldflags="-Wl,-rpath-link=D:/android-ndk-r9/platforms/${PLATFORM}/arch-arm/usr/lib -LD:/android-ndk-r9/platforms/${PLATFORM}/arch-arm/usr/lib -nostdlib D:/android-ndk-r9/platforms/${PLATFORM}/arch-arm/usr/lib/crtbegin_static.o D:/android-ndk-r9/platforms/${PLATFORM}/arch-arm/usr/lib/crtend_android.o -lc -lm -ldl"
4.编译完成,libffmpeg.so只有5K的问题
下班了,明天再弄了