Xcode5和ios7下交叉编译ffmpeg

先申明本机环境

dev-mini:ffmpeg devone$ sw_vers 
ProductName:    Mac OS X
ProductVersion: 10.9.2
BuildVersion:   13C1021

dev-mini:ffmpeg devone$ xcodebuild -version
Xcode 5.1.1
Build version 5B1008

## IOS7.1

http://ffmpeg.org/releases/ffmpeg-2.2.2.tar.bz2
sudo wget http://ffmpeg.org/releases/ffmpeg-2.2.2.tar.bz2
sudo wget https://github.com/yuvi/gas-preprocessor/blob/master/gas-preprocessor.pl
sudo cp gas-preprocessor.pl /usr/bin/
sudo chmod a+rwx /usr/bin/gas-preprocessor.pl

Xcode
path
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/

参考编译选项
http://www.cnblogs.com/gugupluto/p/3404512.html 特此感谢
##
这里是模拟器I386版本编译
## 完美通过

sudo ./configure --prefix=../i386 --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --disable-mmx --enable-cross-compile --sysroot="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk" --target-os=darwin --cc="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc" --extra-cflags="-arch i386 -mfpu=neon -miphoneos-version-min=7.0" --extra-ldflags="-arch i386 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk -miphoneos-version-min=7.0" --arch=i386 --cpu=i386 --disable-asm --disable-everything --enable-decoder=h264 --enable-decoder=rv40 --enable-decoder=aac

sudo make
sudo make install

## 编译ffmpeg armv7(iPhone 3GS以上)
## 完美通过

sudo ./configure --prefix=../armv7 --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --enable-cross-compile --sysroot="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk" --target-os=darwin --cc="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc" --extra-cflags="-arch armv7" --extra-ldflags="-arch armv7" --extra-ldflags=-L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/usr/lib/system --arch=arm --cpu=cortex-a8 --enable-pic  --disable-asm --disable-everything --enable-decoder=h264 --enable-decoder=rv40 --enable-decoder=aac

## 编译ffmpeg armv7s(iPhone5)
## 完美通过

sudo ./configure --prefix=../armv7s --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-ffserver --enable-cross-compile --sysroot="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk" --target-os=darwin --cc="/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc" --extra-cflags="-arch armv7s -mfpu=neon -miphoneos-version-min=7.0" --extra-ldflags="-arch armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk -miphoneos-version-min=7.0" --arch=arm --cpu=cortex-a9 --enable-pic  --disable-asm --disable-everything --enable-decoder=h264 --enable-decoder=rv40 --enable-decoder=aac

## 说明
1.
以前需要gas-preprocessor.pl这个文件,但经过测试,在XCode4环境下是需要的,XCode5环境下已经不需要了。
2.
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc 这里cc
c++ clang++ 都是clang的软连接
3.
多了一个-miphoneos-version-min=7.0,没有这个字段会出一个动态库错误,具体可以自己试试。

## to do
## 参数优化
## http://blog.csdn.net/whf727/article/details/18089261

时间: 2024-07-29 11:48:05

Xcode5和ios7下交叉编译ffmpeg的相关文章

ubuntu下交叉编译ffmpeg

环境:ubuntu16.04 交叉编译器版本:4.8.3 依赖x264,lame x264: 1.wget ftp://ftp.videolan.org/pub/x264/snapshots/last_stable_x264.tar.bz2 2.tar xvf last_stable_x264.tar.bz2 3.cd x264-snapshot-20170903-2245-stable 4.export CC=arm-linux-gnueabi-gcc 5.export AR=arm-linu

【从零学习openCV】IOS7下的openCV开发起步(Xcode5.1.1&openCV2.49)

前言: 开发IOS7已经有一月的时间了,近期在准备推研的事,有点想往CV方向发展,于是開始自学openCV. 关注CSDN已经非常久了,也从非常多博主那学到了非常多知识,于是我也从这周开启自己的blog之旅,从零開始学openCV,从零開始做笔记写blog,哈哈~ 好了,废话不多说,进入正题.. IOS7下使用openCV Mac OS下要使用openCV当然要编译,可是假设仅仅是在ios下使用openCV的话,仅仅须要将bulid好的opencv2.framework导入到project中就可

ubuntu 14.04 交叉编译ffmpeg

因为工作的关系和自己的兴趣原因,我尝试了自己从ubuntu 14.04 交叉编译ffmpeg. 我交叉编译ffmpeg的方法,完全是摸索得到的.在这之前,我从来没有试过交叉编译. 在从ubuntu成功交叉编译之前,我多次尝试了在MingW.cygwin编译ffmpeg,无一例外全部失败. 这次的成功完全是巧合,因为换个电脑我不确定我会不会还是成功.虽然如此我依然要把这次经理写下来. 首先,我在https://github.com/rdp/ffmpeg-windows-build-helpers获

xCode5 在ios7模拟器中出现__cxa_throw _pthread_exit错误

xCode5 在ios7模拟器中出现__cxa_throw _pthread_exit错误 2013年10月28日 ⁄ 综合 ⁄ 共 233字 ⁄ 字号 小 中 大 ⁄ 评论关闭 在项目中用模拟器中进行音频录音方面的调试,碰到一个莫名的问题,就是在ios6的模拟器中运行没问题,但是在ios7的模拟下出以下错误提示: 看了半天,没发现程序代码有什么错误,但在在移除所有断点后,程序在ios7模拟器下运行正常了.原来是在调试时加了“All Exceptions” Breakpoint, 移除后一切正常

Linux下编译ffmpeg

Linux下编译ffmpeg太简单了. 1.下载yasm 1-1. 下载地址:http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz 1-2. 解压缩: tar zxvf yasm-1.3.0.tar.gz 1-3. cd yasm-1.3.0进入 1-4. 命令行执行./configure 检测环境并生成Makefile文件 1-5. 执行make编译,sudo make install安装 2. 下载ffmpeg 2-1

UITextField限制汉字数量最正确的姿势,解决iOS7下substringToIndex方法导致的崩溃

今天在写一个限制UITextField汉字数量的需求,原以为非常简单的一个需求,在实际开发中遇到了很多问题. 首先,汉字的输入时的联想词在输入到TextFiled时,并不会走 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string; 这导致了在这里进行长度限制的代码都会失效.此路不通. 经过查找资料,得知

在Windows下编译ffmpeg完全手册

本文的内容几乎全部来自于FFmpeg on Windows,但是由于国内的网络封锁,很难访问这个域名下的内容,因此我一方面按照我自己的理解和实践做了翻译,另一方面也是为了能提供一个方便的参考方法. 注: 1.       对于compile和build这两个词,本文统一的使用编译这个词,根据上下文读者应能区分语义上的差别. 本文的目的是提供一切与FFmpeg在Windows下的相关帮助.它最初是一个针对用MSys+MinGW系统编译的手把手的教程,现在也增加了如何在你的项目中链接FFmpeg所产

在Windows下编译FFmpeg详细说明

MinGW:一个可自由使用和自由发布的Windows特定头文件和使用GNC工具集导入库的集合,允许你生成本地的Windows程序而不需要第三方C运行时 MinGW,即 Minimalist GNU For Windows.它是一些头文件和端口库的集合,该集合允许人们在没有第三方动态链接库的情况下使用 GCC产生 Windows32 程序. 开发 MinGW 是为了那些不喜欢工作在 Linux(FreeBSD) 操作系统而留在 Windows 的人提供一套符合 GNU 的 GNU 工作环境. 所以

IOS7下,AVAudioRecorder需要注意的一点

iOs7下,使用AVAudioRecorder录音的时候,会在顶部出现一个红框,或者红框一闪而过,这时候需要设置AVAudioSession,如下代码: AVAudioSession * session = [AVAudioSession sharedInstance]; NSError * sessionError = nil; [session setCategory:AVAudioSessionCategoryPlayAndRecord error:&sessionError]; if (