ios编译ffmpeg

来源:互联网 发布:滴滴有抢单软件吗 编辑:程序博客网 时间:2024/06/11 21:49

编译模拟器版本
1 到https://github.com/yuvi/gas-preprocessor下载gas-preprocessor.p并拷贝到/usr/sbin目录中
2 下载ffmpeg源码。
http://ffmpeg.org/download.html
https://github.com/FFmpeg/FFmpeg
3 解压源码,cd到源码目录下
4 创建文件config_i386.sh,其内容如下

复制代码
#!/bin/tcsh -fset targetDir="../ffmpeg-libs/i386"if (! -d $targetDir ) mkdir $targetDirrm -f $targetDir/*.amake clean#./configure --arch=i386 --extra-cflags='-arch i386' --extra-ldflags='-arch i386'  --disable-encoders --disable-debug --disable-mmx./configure \--cc=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc \--as='gas-preprocessor.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/gcc' \--nm="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/nm" \--sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk \--target-os=darwin \--arch=i386 \--cpu=i386 \--extra-cflags='-arch i386 -miphoneos-version-min=4.3 -mdynamic-no-pic' \--extra-ldflags='-arch i386 -miphoneos-version-min=4.3 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.0.sdk' \--prefix=compiled/i386 \--enable-cross-compile \--enable-nonfree \--enable-gpl \--disable-armv5te \--disable-swscale-alpha \--disable-doc \--disable-ffmpeg \--disable-ffplay \--disable-ffprobe \--disable-ffserver \--disable-asm \--disable-debugmakemv libavcodec/libavcodec.a $targetDirmv libavdevice/libavdevice.a $targetDirmv libavformat/libavformat.a $targetDirmv libavutil/libavutil.a $targetDirmv libswscale/libswscale.a $targetDir
复制代码

5 执行config_i386.sh进行配置和编译
编译完成后,可以在$targetDir找到相应的静态库文件

编译真机版
前3步同上
第4步:创建文件config_armv7,其内容如下

复制代码
#!/bin/tcsh -fset targetDir="../ffmpeg-libs/armv7"if (! -d $targetDir ) mkdir $targetDirrm -f $targetDir/*.amake clean./configure \--cc=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc \--as='gas-preprocessor.pl /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc' \--nm="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/nm" \--sysroot=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk \--target-os=darwin \--arch=arm \--cpu=cortex-a8 \--extra-cflags='-arch armv7 -miphoneos-version-min=4.3 -mdynamic-no-pic' \--extra-ldflags='-arch armv7 -miphoneos-version-min=4.3 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.0.sdk' \--prefix=compiled/armv7 \--enable-cross-compile \--enable-nonfree \--enable-gpl \--disable-armv5te \--disable-swscale-alpha \--disable-doc \--disable-ffmpeg \--disable-ffplay \--disable-ffprobe \--disable-ffserver \--disable-asm \--disable-debugmakemv libavcodec/libavcodec.a $targetDirmv libavformat/libavformat.a $targetDirmv libavutil/libavutil.a $targetDirmv libswscale/libswscale.a $targetDir
复制代码

第5步:
执行config_armv7进行配置和编译,编译完成后可以在$targetDir找到相应的静态库文件

原创粉丝点击