Building FFmpeg for iPhone


原此出处:http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2009-October/076618.html
I am pleased to announce that FFmpeg can now be built unpatched for
the iPhone. The process is still not entirely without pain, however.
Here’s how it’s done:

1. Download and install the iPhone SDK 3.1.
2. Get the latest gas-preprocessor and install it in /usr/local/bin
or some other directory in your $PATH.
http://github.com/yuvi/gas-preprocessor/
3. Get the latest FFmpeg from SVN (minimum r20151).
4. Configure FFmpeg with one of the following commands. These give a
clean build with a default installation of iPhone SDK 3.1 on OSX Leopard.
Other versions may vary.
4a. For iPhone 3GS or iPod Touch 3G 32GB/64GB, use this command:
./configure –cc=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin9-gcc-4.2.1 –as=’gas-preprocessor.pl /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin9-gcc-4.2.1′ –sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk –enable-cross-compile –target-os=darwin –arch=arm –cpu=cortex-a8 –enable-pic
4b. For other iPhone or iPod Touch models, use this command:
./configure –cc=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin9-gcc-4.2.1 –as=’gas-preprocessor.pl /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin9-gcc-4.2.1′ –sysroot=/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk –enable-cross-compile –target-os=darwin –arch=arm –cpu=arm1176jzf-s
5. Run make.

It is important to specify a correct –cpu option, and not merely an
architecture version. Failure to specify the exact CPU will give a
broken build.

For the iPhone 3GS and compatible iPods, –enable-pic is required to
avoid some nasty-looking linker warnings about relocations.

I have not tested the builds on an iPhone/iPod, so there may still be
remaining issues. Please report any problems you encounter.

Many thanks to David Conrad for the gas-preprocessor script, without
which this would not be possible.

你可能感兴趣的:(iPhone)