WebRTC@第四章@编译Mac&IOS版@V1.0.0



驾驭开源库WebRTC

第四章-编译Mac&iOS

作者:adam鸣谢:老张

日期:2015-4-6

版本:1.0.0

欢迎转载,有问题反馈Q2780113541,尽量完善系列教程。更新地址:https://github.com/wpc320/webrtc_doc.git

depot_tools代理设置参考老张《史上最牛逼的墙内下载webrtc代码说明_20150401

 

0、官方源码svn2015-3-24已迁至谷歌git

一些使用svn地址的教程已不适用或需改进

 

1、部署http(s)sock5代理,具体参考第一章

Shadowsocks:代理地址 127.0.0.1:1080

Privoxy:代理地址 127.0.0.1:8118

 

2、编译环境准备

MacOS X 10.9.5主机或虚拟机一台,安装Xcode6

本人工作区为$HOME,保证剩余空间有10G以上

3、下载工具准备

cd$HOME

gitconfig --global http.proxy http://127.0.0.1:8118

gitconfig --global https.proxy https://127.0.0.1:8118

gitclone https://chromium.googlesource.com/chromium/tools/depot_tools.git

 

4、设置下载工具路径至环境变量

echo'export PATH=$HOME/depot_tools/:$PATH' >> ~/.bash_profile

source~/.bash_profile

5、下载工具代理设置以及下载webrtc

vi$HOME/depot_tools/http_proxy.boto,内容如下:

[Boto]

proxy= 127.0.0.1

proxy_port= 8118

设置环境变量,如新开终端则需重新设置

exporthttp_proxy=http://127.0.0.1:8118

exporthttps_proxy=https://127.0.0.1:8118

gitconfig --global http.proxy http://127.0.0.1:8118

gitconfig --global https.proxy https://127.0.0.1:8118

exportPATH=$HOME/depot_tools/:$PATH

exportNO_AUTH_BOTO_CONFIG=$HOME/depot_tools/http_proxy.boto

mkdir$HOME/webrtc_ios

cd$HOME/webrtc_ios

exportGYP_DEFINES="OS=ios"

 

首次下载输入下载命令:

fetchwebrtc_ios

等待几个G下载完成,最好没报错。

报错说明网络或上边代理设置存在问题,排除问题然后执行如下命令:

下载代码:

gitpullgitfetch

下载依赖项生成编译文件:

gclientsync

6、编译webrtc

iOS平台示例,设置环境变量:

exportGYP_CROSSCOMPILE=1

exportGYP_DEFINES="OS=ios target_arch=arm arm_version=7"

exportGYP_GENERATOR_FLAGS="output_dir=out_ios"

exportGYP_GENERATORS=ninja

执行:

cd$HOME/webrtc_ios/src

webrtc/build/gyp_webrtc

等待工程文件生成完毕……

编译:

ninja-C out_ios/Debug-iphoneos

其他平台编译参考:http://www.webrtc.org/native-code/ios

 

 

 

---------------------------进阶-----------------------------------

1、代码和依赖项更新

cd$HOME/webrtc_ios

exportGYP_DEFINES="$GYP_DEFINES OS=ios"

同步下载源码:

gitpullgitfetch

同步下载依赖项并根据GYP_GENERATORS的设置生成编译文件:

gclientsync

只同步下载依赖项不生成编译文件:

gclientsync --nohooks

只根据GYP_GENERATORS的设置生成编译文件:

gclientrunhooks

 

2、如果python库报错,更换python新版本

_bsddb啥的,那是因为mac自带的python库有问题

手动更新python,我用的是2.7.9 pkg10.6+的系统可以装。

https://www.python.org/ftp/python/2.7.9/python-2.7.9-macosx10.6.pkg

安装好,然后执行

sudo rm /usr/bin/pydoc

sudo rm /usr/bin/python

sudo rm /usr/bin/pythonw

sudo rm /usr/bin/python-config

至此旧python连接符删除完毕

新开终端输入python,显示2.7.9即为OKCTRL+D退出。

3、使用xcode编译

新版webrtcOSX下使用Xcodeninja来编译

新开终端,输入:

cd$HOME/webrtc_ios/src

export GYP_GENERATOR_FLAGS="xcode_project_version=3.2xcode_ninja_target_pattern=All_iOS xcode_ninja_executable_target_pattern=AppRTCDemo|libjingle_peerconnection_unittest|libjingle_peerconnection_objc_testoutput_dir=out_ios"

exportGYP_GENERATORS="ninja,xcode-ninja"

webrtc/build/gyp_webrtc

然后可以在src目录中找到all.ninja.xcodeproj打开编译即可。

另外src下还有另外两个工程,一个是作为索引sources_for_indexing.xcodeproj,一个是all.ninja.xcworkspacexcode打开就有warningerror,以后再说吧,有知道解决办法的朋友可以告诉我。

更多设备请参考:

http://www.webrtc.org/native-code/ios

 



你可能感兴趣的:(WebRTC@第四章@编译Mac&IOS版@V1.0.0)