本文发自 http://www.binss.me/blog/fetch-webrtc-code-and-build/,转载请注明出处。

由于项目组的进度缓慢,编译了一个假期都没完成,于是我接手了这项工作。

环境为:

OSX 10.9.4
git 1.8.5.2
svn 1.8.1.10

下面开工:

  1. 首先确定你安装了git和svn,命令为git --versionsvn --version(MAC下自带)

  2. 安装depot_tools (源码获取工具)

    $ svn co http://src.chromium.org/svn/trunk/tools/depot_tools
  3. /Users/用户名目录下,打开.bash_profile,加入一行:

    export PATH=$PATH:/Users/用户名/depot_tools
  4. 配置

    $ cd /Users/用户名/depot_tools 
    $ gclient config http://webrtc.googlecode.com/svn/trunk
  5. 下载WebRTC代码

    $ gclient sync --force

    此处会下载大约为100多M的webrtc代码。

  6. 打开depot_tools目录下的.gclient,加入一行

    target_os = ['ios', 'mac']

    保存

  7. 执行命令

    $gclient runhooks --force

    此处会下载巨大6G多的代码。。。而且由于墙的原因各种连不上服务器,建议搭好VPN再上。 反正我是睡觉前开始挂,第二天醒来就好了- -。

    注意,此处可能会抛出奇奇怪怪的错误,我的是:returned non-zero exit status 2 按照网上的做法,打开trunk文件夹下的DEPS,搜索download_from_google_storage并把包含它的整个大括号及其内容删除后保存,重新执行步骤7。

  8. 如果1-7成功执行。恭喜你:代码成功同步下来了。

  9. 在trunk目录下,执行

    $ export GYP_DEFINES="build_with_libjingle=1 build_with_chromium=0 libjingle_objc=1"
    $ export GYP_GENERATORS="xcode"
    $ gclient runhooks

    此时在trunk目录下会看到一个all.xcodeproj的文件

  10. 用xcode打开并编译,过程中CPU100%温度99度简直吓CRY,大概持续5分钟。

  11. 在trunk目录下会生成xcodebuild文件夹,里面有编译好的各种库。

这次的编译过程真的幸酸,期间各种奇奇怪怪的错误也不知道是因为没翻墙还是什么的别的原因各种冒泡,而且GOOGLE还搜不到那种,最后无脑试了几次竟然奇迹般地完成了,真是神奇。

参考文章:http://www.cnblogs.com/ProbeStar/p/3411510.html

编译DEMO放在下一篇来写