2014-03-18 58 views
2

我试过多款最新FFmpeg的版本的(2.1.4和2.2 RC2),但一直没能因为下面的错误编译:无法编译FFmpeg的对ARMv7和armv7s

INSTALL libavformat/libavformat.a 
AS libavcodec/arm/vp8dsp_armv6.o 
AR libavresample/libavresample.a 
CC libavcodec/ass_split.o 
CC libavcodec/assdec.o 
CC libavcodec/asv.o 
CC libavcodec/asvdec.o 
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2163:11: error: branch target out of range 
     b vp8_put_epel_h6_armv6 + 4 
     ^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2181:11: error: branch target out of range 
     b vp8_put_epel_v6_armv6 + 4 
     ^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2199:11: error: branch target out of range 
     b vp8_put_epel_h6_armv6 + 4 
     ^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2217:11: error: branch target out of range 
     b vp8_put_epel_v6_armv6 + 4 
     ^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2235:11: error: branch target out of range 
     b vp8_put_epel_h4_armv6 + 4 
     ^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2253:11: error: branch target out of range 
     b vp8_put_epel_v4_armv6 + 4 
     ^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2271:11: error: branch target out of range 
     b vp8_put_epel_h6_armv6 + 4 
     ^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2289:11: error: branch target out of range 
     b vp8_put_epel_v6_armv6 + 4 
     ^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2307:11: error: branch target out of range 
     b vp8_put_epel_h4_armv6 + 4 
     ^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2325:11: error: branch target out of range 
     b vp8_put_epel_v4_armv6 + 4 
     ^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2344:11: error: branch target out of range 
     b vp8_put_bilin_h_armv6 + 4 
     ^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2362:11: error: branch target out of range 
     b vp8_put_bilin_v_armv6 + 4 
     ^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2380:11: error: branch target out of range 
     b vp8_put_bilin_h_armv6 + 4 
     ^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2398:11: error: branch target out of range 
     b vp8_put_bilin_v_armv6 + 4 
     ^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2416:11: error: branch target out of range 
     b vp8_put_bilin_h_armv6 + 4 
     ^
/Users/erikvillegas/Development/ffmpeg64/ffmpeg/libavcodec/arm/vp8dsp_armv6.S:2434:11: error: branch target out of range 
     b vp8_put_bilin_v_armv6 + 4 
     ^
make: *** [libavcodec/arm/vp8dsp_armv6.o] Error 1 

问题在于libavcodec库。我能够编译arm64和x86_64,但不能用于armv7和armv7。

我使用下面的生成脚本:https://github.com/kewlbear/FFmpeg-iOS-build-script

任何想法?

+1

我是该脚本的作者。我刚刚成功为armv7编译了FFmpeg 2.2。你能发布'xcrun -sdk iphoneos clang --version -arch armv7'的输出吗?你有没有尝试https://github.com/libav/gas-preprocessor? – cahn

+0

是的,gas-preprocessor.pl位于我的/ usr/bin /文件夹中,具有正确的文件权限。 xcrun命令在我的系统上输出以下内容:Apple LLVM版本5.1(clang-503.0.38)(基于LLVM 3.4svn),目标:arm-apple-darwin13.1.0,线程模型:posix。我正在运行10.9.2,Xcode 5.1,并使用iOS 7.1 SDK进行编译。 –

+0

你可以发布'scratch/armv7/config.log'吗? – cahn

回答

1

./configure --disable-asm将摆脱此错误。尽管如此,它禁止在整个电路板上使用内联汇编代码,因此请注意性能/电池消耗。

相关问题