为iPhone编译ffmpeg的错误

时间:2012-02-16 18:24:19

标签: iphone ios gcc ffmpeg

我在OS X Lion上,我正在尝试为iPhone编译ffmpeg的armv7库。我正在使用ffmpeg 0.10。

这是我的配置行:

./configure --disable-doc --disable-ffmpeg --disable-ffplay --disable-ffserver --disable-ffprobe --enable-cross-compile --arch=arm --target-os=darwin --cc=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc --as='gas-preprocessor/gas-preprocessor.pl /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc' --sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk --cpu=cortex-a8 --extra-cflags='-arch armv7' --extra-ldflags='-arch armv7 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS5.0.sdk' --enable-pic --disable-avdevice --disable-avfilter --disable-zlib --disable-bzlib

配置运行正常但它以以下结尾:警告:编译器不指示浮点ABI,猜测是否软。

以下是我的结果:

Users-MacBook-Pro:ffmpeg-0.10 user$ make
CC    libavformat/4xm.o
CC    libavformat/a64.o
CC    libavformat/aacdec.o
CC    libavformat/ac3dec.o
CC    libavformat/act.o
CC    libavformat/adtsenc.o
CC    libavformat/adxdec.o
CC    libavformat/aea.o
CC    libavformat/aiffdec.o
CC    libavformat/aiffenc.o
CC    libavformat/allformats.o
CC    libavformat/amr.o
CC    libavformat/anm.o
CC    libavformat/apc.o
CC    libavformat/ape.o
CC    libavformat/apetag.o
CC    libavformat/applehttp.o
CC    libavformat/applehttpproto.o
CC    libavformat/asf.o
CC    libavformat/asfcrypt.o
error: invalid operand in inline asm: 'ldr   ${0:Q}, $1 
    ldr   ${0:R}, $2 
    '
make: *** [libavformat/asfcrypt.o] Error 1
Users-MacBook-Pro:ffmpeg-0.10 user$

有什么想法吗?谢谢!

2 个答案:

答案 0 :(得分:1)

内联汇编程序存在问题。我不知道为什么,但是在编译ffmpeg(配置行中的--disable-asm)时必须禁用汇编程序优化。

但是,我还没有尝试编译这个版本的ffmpeg。 =>我试图编译FFmpeg v0.10与禁用asm,它的工作原理。但是,我认为它会降低设备速度。

答案 1 :(得分:-2)

在iOS应用程序中使用ffmpeg库需要有一个很好的理由,因为与默认情况下已经提供的iOS硬件h.264解决方案相比,性能会非常差。此外,在iOS应用中包含LGPL库存在真正的法律问题,有关详情,请参阅this answer