cygwin编译ffmpeg移植到android平台问题集锦
2013-08-20 17:39 硕硕 阅读(1268) 评论(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的问题
下班了,明天再弄了
浙公网安备 33010602011771号