用android ndk r5b编译ffmpeg

用android ndk r5b编译ffmpeg。

ffmpeg 0.6.1

android ndk r5b

cygwin 1.7

建立参考网址:http://www.cnblogs.com/scottwong/archive/2010/12/17/1909455.html

但是,ffmpeg ./configure结果错误! (在config.err文件下面)

check_cc
BEGIN /tmp/ffconf.GlDiY1P8.c
    1   int main(void){ return 0; }
END /tmp/ffconf.GlDiY1P8.c
/android-ndk-r5b/toolchains/arm-eabi-4.4.0/prebuilt/windows/bin/arm-eabi-gcc -fPIC -DANDROID -c -o /tmp/ffconf.1kQLpGaU.o /tmp/ffconf.GlDiY1P8.c
arm-eabi-gcc.exe: /tmp/ffconf.GlDiY1P8.c: No such file or directory

arm-eabi-gcc.exe: no input files

C compiler test failed.

所以,我只是尝试测试代码。

// test.c code
int main(){
  return 0;
}

/android-ndk-r5b/toolchains/arm-eabi-4.4.0/prebuilt/windows/bin/arm-eabi-gcc -fPIC -DANDROID -c -o ./test.o ./test.c

好!!!! 没问题。

但是,cp ./test.c / tmp(复制到/ tmp)

/android-ndk-r5b/toolchains/arm-eabi-4.4.0/prebuilt/windows/bin/arm-eabi-gcc -fPIC -DANDROID -c -o ./test.o /tmp/test.c

arm-eabi-gcc.exe: /tmp/test.c: No such file or directory
arm-eabi-gcc.exe: no input files

失败!!! 区别仅在于文件路径。 / tmp目录存在,权限是正确的。 /home/test.c是相同的结果。

怎么了?


我很难在Windows中使用它,但最终我设法做到了! 以前的帖子是正确的 - Cygwin路径和Windows路径存在问题。 我已经尝试了上述文章中描述的解决方案作为第一件事,但它不起作用。 最后我明白了原因:即使你把你的build_android.sh文件放到Windows路径中,FFmpeg的配置仍然包含错误的路径。

所以在我的情况下,我已经部分改变了FFmpeg根目录下的配置文件:

#set temporary file name
: ${TMPDIR:=$TEMPDIR} 
: ${TMPDIR:=$TMP}
: ${TMPDIR:=/tmp}

对此:

# set temporary file name
#: ${TMPDIR:=$TEMPDIR}
#: ${TMPDIR:=$TMP}
: ${TMPDIR:=D:/InstallTools/Android/Cygwin_Root/tmp}

之后,我编译了它。


您不要设置tmp目录。 您可以在/ etc / profile中设置它,或者在export TMPDIR=/your/tmp/directory的终端中进行设置。 注意:1.如果用cygwin编译,目录必须像D:/ tmp。 你不能使用/ cygdrive / d / tmp。 2.您必须获得该文件夹的许可。


我也无法让这个工作,我有完全相同的问题。 但是我能够使用“android-ndk-r4”进行编译。 目前我不确定是什么原因导致了这个问题,但如果我想到了,我也会发布。

所以现在解决方法是使用ndk r4。

链接地址: http://www.djcxy.com/p/23369.html

上一篇: compile ffmpeg with android ndk r5b

下一篇: gcc) is not present when it is clearly there