WebRTC@第四章@編譯Mac&IOS版@V1.0.0__IOS

來源:互聯網
上載者:User

駕馭開源庫WebRTC

第四章-編譯Mac&iOS版

作者:adam鳴謝:老張

日期:2015-4-6

版本:1.0.0

歡迎轉載,有問題反饋Q:2780113541,盡量完善系列教程。更新地址:https://github.com/wpc320/webrtc_doc.git

depot_tools代理設定參考老張《史上最牛逼的牆內下載webrtc代碼說明_20150401》

 

0、官方源碼svn自2015-3-24已遷至Googlegit

一些使用svn地址的教程已不適用或需改進

 

1、部署http(s)轉sock5代理,具體參考第一章

Shadowsocks:Proxy 位址 127.0.0.1:1080

Privoxy:Proxy 位址 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下載完成,最好沒報錯。

報錯說明網路或上邊代理設定存在問題,排除問題然後執行如下命令:

下載代碼:

gitpull或gitfetch

下載依賴項產生編譯檔案:

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"

同步下載源碼:

gitpull或gitfetch

同步下載依賴項並根據GYP_GENERATORS的設定產生編譯檔案:

gclientsync

只同步下載依賴項不產生編譯檔案:

gclientsync --nohooks

只根據GYP_GENERATORS的設定產生編譯檔案:

gclientrunhooks

 

2、如果python庫報錯,更換python新版本

_bsddb啥的,那是因為mac內建的python庫有問題

手動更新python,我用的是2.7.9 pkg,10.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即為OK,CTRL+D退出。

3、使用xcode編譯

新版webrtc在OSX下使用Xcode調ninja來編譯

新開終端,輸入:

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.xcworkspace,xcode開啟就有warning和error,以後再說吧,有知道解決辦法的朋友可以告訴我。

更多裝置請參考:

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

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.