[FFmpeg-user] iOS 6.0: Unable to use ARM optimized assembler functions.

Ryan Gomes gomes.ryan at gmail.com
Fri Dec 28 12:46:47 CET 2012

I managed to solve this on my own.  The solution was to switch the
gas-preprocessor.pl file to a newer fork which can be found here:

> I'm attempting to build libavformat.a, libavcodec.a, and libavutil.a and
> link them into an iOS 6.0 project (I am using Xcode version 4.5.2.)
>  Everything works fine when I configure with option --disable-asm:
> However, I would like to improve video decoding performance by enabling
> support for optimized assembler functions (e.g., NEON instructions.)  I
> have installed gas-preprocessor.pl in /usr/local/bin as required.  The
> configuration below with --enable-asm compiles correctly.  However, when I
> attempt to link libavformat.a and libavcodec.a into my Xcode project I
> receive the following error:
> ld: in /Users/gomes/ffmpeg_ios/armv7/lib/libavcodec.a(mpegvideo_neon.o),
> in section __TEXT,__text reloc 0: R_ABS reloc but no absolute symbol at
> target address for architecture armv7
> clang: error: linker command failed with exit code 1 (use -v to see
> invocation)
> ./configure --prefix=armv7 --disable-ffmpeg --disable-ffplay
> --disable-ffprobe --disable-doc --disable-ffserver --enable-avresample
> --enable-cross-compile
> --sysroot="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk"
> --target-os=darwin
> --cc="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/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/iPhoneOS6.0.sdk
> -miphoneos-version-min=6.0" --arch=arm --cpu=cortex-a9 --enable-pic
> --disable-bzlib --disable-zlib --enable-asm

More information about the ffmpeg-user mailing list