ios 怎么配置编译ffmpeg

ios 怎么配置编译ffmpeg,第1张

一、系统环境

MAC OS X Mountain Lion 10.8.3、 XCode 5.1

二、编译FFMpeg

1、下载ffmpeg2.2.5版本代码,并解压。

2、下载并解压gas-preprocessor.pl (附件中有,zip格式,因网易博客不能上传zip后缀的文件,故加了个.rar)

在终端中使用cp命令将它复制到 /usr/sbin/目录,并赋予可执行权限。

sudo cp -f gas-preprocessor/gas-preprocessor.pl /usr/sbin/chmod +x /usr/sbin/gas-preprocessor.pl

3、在ffmpeg目录下创建一个config.sh脚本

#!/bin/bash

SDKVERSION="7.1"

ARCHS="armv7 armv7s i386"

DEVELOPER=`xcode-select -print-path`

cd "`dirname \"$0\"`"

REPOROOT=$(pwd)

# where we will store intermediary builds

INTERDIR="${REPOROOT}/built"

mkdir -p $INTERDIR

########################################

# Exit the script if an error happens

for ARCH in ${ARCHS}

do

if [ "${ARCH}" == "i386" ]

then

PLATFORM="iPhoneSimulator"

EXTRA_CONFIG="--arch=i386 --disable-asm --enable-cross-compile --target-os=darwin --cpu=i386"

EXTRA_CFLAGS="-arch i386"

EXTRA_LDFLAGS="-I${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer/SDKs/${PLATFORM}${SDKVERSION}.sdk/usr/lib"

else

PLATFORM="iPhoneOS"

EXTRA_CONFIG="--arch=arm --target-os=darwin --enable-cross-compile --cpu=cortex-a9 --disable-armv5te"

EXTRA_CFLAGS="-w -arch ${ARCH}"

fi

mkdir -p "${INTERDIR}/${ARCH}"

./configure --prefix="${INTERDIR}/${ARCH}" \

   --disable-neon \

   --disable-armv6 \

   --disable-armv6t2 \

   --disable-ffmpeg \

   --disable-ffplay \

   --disable-ffprobe \

   --disable-ffserver \

   --disable-iconv \

   --disable-bzlib \

   --enable-avresample \

   --sysroot="${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer/SDKs/${PLATFORM}${SDKVERSION}.sdk" \

   --cc="${DEVELOPER}/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang" \

   --as='/usr/local/bin/gas-preprocessor.pl' \

   --extra-cflags="${EXTRA_CFLAGS} -miphoneos-version-min=${SDKVERSION}" \

   --extra-ldflags="-arch ${ARCH} ${EXTRA_LDFLAGS} -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/${PLATFORM}.platform/Developer/SDKs/${PLATFORM}${SDKVERSION}.sdk -miphoneos-version-min=${SDKVERSION}" ${EXTRA_CONFIG} \

   --enable-pic \

   --extra-cxxflags="$CPPFLAGS -isysroot ${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer/SDKs/${PLATFORM}${SDKVERSION}.sdk"

make &&make install &&make clean

done

mkdir -p "${INTERDIR}/universal/lib"

cd "${INTERDIR}/armv7/lib"

for file in *.a

do

cd ${INTERDIR}

xcrun -sdk iphoneos lipo -output universal/lib/$file  -create -arch armv7 armv7/lib/$file -arch armv7s armv7s/lib/$file -arch i386 i386/lib/$file

echo "Universal $file created."

done

cp -r ${INTERDIR}/armv7/include ${INTERDIR}/universal/

echo "Done."

SDKVERSION 是XCode的版本,通过`xcode-select -print-path`来获取XCode的安装路径,ARCHS是编译的三种模式,接下来在终端中cd到ffmpeg目录,./config.sh执行就可以编译了。等到编译完成后,在ffmpeg目录下会多出一个built目录,里面分别是armv7 armv7s i386及三个合并的universal版本了。

、准备工作1、jenkins环境。搭建jenkins环境可以参考jenkins平台搭建和配置一节。需要注意的是,虽然涉及iOS开发,但是jenkins平台却不必搭建在mac机器上,只要在jenkins上添加mac节点就可以了。2、iOS开发环境。iOS开发环境主要是指Xcode开发环境,Xcode是免费的,只要在苹果应用商店里下载一个就可以了。当然,还有重要的一点儿---开发者证书,现在个人也已经有免费的证书了,没有证书的话,只能打模拟器用的包了。3、git项目。强烈建议把代码放在git上,这样便于团队开发。当然,不放git上也可以。4、jenkins Xcode持续集成插件。常用的插件Xcode integration,这个插件能够快速的帮助我们进行Xcode打包配置,当然,只用纯shell脚本也是可以的。在jenkins上打包之前,我们最好手工测试一下可以打包成功,首先用Xcode图形界面进行测试,然后用命令行测试,如果都能打包成功就可以挂在jenkins上运行了,毕竟jenkins的原理也是通过执行一系列命令来完成的。三、jenkins配置 1、创建一个任务,创建任务的时候最好选自由风格的软件项目,这样配置起来比较方便,如果有需要,也可以选择其他的风格。2、描述

(1)软硬件要求

ios开发硬件环境配置

苹果设备,首先需要一台Mac电脑及一个iDevice——iPhone、iPad、iPod Touch均可,但三个设备都有的话,会对硬件配置更加有利,可以在不同设备上进行测试,确保app能在所有苹果设备上运行。

软件设置

在ios app开发中,首先要先会运用iOS应用程序设计语言Objective-C(现在最新的ios程序设计语言为swift)进行app设计。完成软件设计后,在开发应用程序时,需要使用Apple开发套件(SDK)以及Xcode,即ios的集成开发环境(IDE),进行代码调试、编译等。

(2)如何搭建开发环境

首先搭建Mac环境。其次要在真机(iphone/ipad)上部署和调试。Apple的iOS开发者帐号是每年99美元,除了能够访问各种文档资源之外,最重要的是它可以帮助开发者生成合法证书,并把应用部署到App store和真机上,当然,如果产品开发完成之后打算投入市场,那这个钱是省不得的。

第三步调试Phonegap源码。能调试Phonegap源码还是很必要的,一是可以学习一下整个流转机理,二是便于调试自己写的或加装的plugin。

第四部根据官方guide: Getting Started with iOS,搭建好项目结构。然后:

1、删除“Cordova.framework”

2、把CordovaLib.xcodeproj从phonegap源码包里拖到xcode里。

3、选择主项目(starteam-mobile-ios)的“Build Phases”,在“Link Binary With Libraries”下添加“Workspace”下的“libCordova.a”。

4、在“Target Dependencies”添加“CordovaLib”。

5、编辑“Build Settings”里的“Other Linker Flags”,添加“-all_load -Obj-C”配置项。

6、把Phonegap源码包里的“VERSION”文件拖到“Supporting Files”文件夹下。

7、主项目和CordovaLib.xcodeproj下的Architectures改为:Standard (armv7),不然编译时会报gcc相关的错。

最后调试Javascript。在真机上出了Javascript错误是非常难调试的,这需要很多的工具来支持才行,我准备把它和其他移动平台上javascript调试单独作为一个主题来详细研究,这里就暂时不多说了。到此,iOS上Phonegap开发环境也就搭建完成。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12083048.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存