为iOS构建ffmpeg时出错

时间:2014-02-14 23:29:58

标签: ios xcode ffmpeg

我正在尝试使用以下配置为iOS构建fmmpeg:

./configure --prefix=build/armv7 --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --enable-avutil --enable-avresample --enable-cross-compile --sysroot="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk" --target-os=darwin --cc=gcc --extra-cflags="-arch armv7 -mfpu=neon -miphoneos-version-min=6.0" --extra-ldflags="-arch armv7 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk -miphoneos-version-min=6.0" --arch=arm --cpu=cortex-a9 --enable-pic

当我尝试制作它时,我收到了以下错误:

AS libavcodec/arm/vc1dsp_neon.o libavcodec/arm/vc1dsp_neon.S:751:10: error: unexpected token in argument list ra .dn d28.i8 ^ libavcodec/arm/vc1dsp_neon.S:752:10: error: unexpected token in argument list rb .dn d29.i8 ^ libavcodec/arm/vc1dsp_neon.S:753:10: error: unexpected token in argument list rc .dn d30.i8 ^ libavcodec/arm/vc1dsp_neon.S:754:10: error: unexpected token in argument list rd .dn d31.i8 ^ libavcodec/arm/vc1dsp_neon.S:757:14: error: invalid operand for instruction vmov ra, #4 ^ libavcodec/arm/vc1dsp_neon.S:758:14: error: invalid operand for instruction vmov rb, #53 ^ libavcodec/arm/vc1dsp_neon.S:759:14: error: invalid operand for instruction vmov rc, #18 ^ libavcodec/arm/vc1dsp_neon.S:760:14: error: invalid operand for instruction vmov rd, #3 ^ libavcodec/arm/vc1dsp_neon.S:864:10: error: unexpected token in argument list ra .dn d28.i16 ^ libavcodec/arm/vc1dsp_neon.S:865:10: error: unexpected token in argument list rb .dn d29.i16 ^

可能是什么错误?

1 个答案:

答案 0 :(得分:3)

尝试添加标记--disable-neon--disable-armv5te

顺便说一句,以下一组标志为AMRv7提供了技巧:

'--arch=arm',
'--enable-pic',
"--extra-cflags='-arch armv7 -miphoneos-version-min=6.0'",
"--extra-ldflags='-arch armv7 -miphoneos-version-min=6.0'",
'--disable-neon',
'--enable-optimizations',
'--disable-debug',
'--disable-armv5te',
'--disable-armv6',
'--disable-armv6t2',

'--disable-ffmpeg',
'--disable-ffplay',
'--disable-ffserver',
'--disable-ffprobe',
'--disable-doc',
'--disable-bzlib',
'--target-os=darwin',
'--enable-cross-compile',
'--enable-version3',

或者,更好的是,您将天然气预处理器的版本更改为libAV 维护的版本:https://github.com/libav/gas-preprocessor

希望这有帮助。