cygwin编译ffmpeg移植到android平台问题集锦
2013-08-20 17:39 硕硕 阅读(1258) 评论(0) 编辑 收藏 举报编译环境:
windows xp
Cygwin 1.1.3.1
NDK r9
1.提示各种command not found
比如
./config.sh: line 6: $'--arch=arm\r': command not found
可以看到arm后面有个'\r' unix文件换行和win下面不一样 需要用ultraedit 文件-转换-dos转unix
2.临时目录问题,各种提示.....temp\No 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的问题
下班了,明天再弄了