WebRTC編譯詳細介紹


WebRTC編譯詳細介紹--記錄+轉載


原文地址:http://blog.csdn.net/temotemo/article/details/7056581


WebRTC編譯

本人環境:

操作系統:XP SP3

VS 2013



編譯源碼之前所需的工具


獲取源碼工具:

1、 首先需要安裝獲取源碼的工具SVN(項目代碼版本管理工具,Google也用這個)

TortoiseSVN 1.6.12

http://sourceforge.net/projects/tortoisesvn/

2、下載並安裝msysgit和Tortoisegit

   msysgit:http://code.google.com/p/msysgit/downloads/list

                選擇Git-1.7.4-preview20110204.exe,下載並安裝

   Tortoisegit:http://code.google.com/p/tortoisegit/downloads/list

                選擇適合自己系統的版本,下載並安裝(注:Tortoisegit只是一個gui,必須安裝msysgit)

                Tortoisegit安裝時會找到git目錄並自動配置好。

    把msysgit中bin目錄手動添加到系統環境變量PATH中,比如我的目錄是“D:/ProgramFiles/Git/bin”

 

3. 下載並安裝Python,建議安裝Python2.6,比如安裝在C盤

安裝將C:\Python26執行目錄自動被添加入系統環境變量PATH中。

(WebRTC是用C++寫的爲什麼要用到Python,因爲WebRTC源碼和depot_tools裏面有很多.py的Python程序,用於配置項目,生成各種環境下的工程文件)

 

官方要求說明:

http://www.webrtc.org/reference/getting-started/prerequisite-sw

1、 Depot Tools

1. You'll need to have the depot tools installed:

https://sites.google.com/a/chromium.org/dev/developers/how-tos/depottools

 

2. You need git installed (needed for getting WebM source):

http://git-scm.com/

/*====================================================*/


好了,外部工具準備得差不多了

4. 下載並配置depot_tools

 很多人都建議建立一個存放depot_tools的目錄,command進入該目錄

svn co http://src.chromium.org/svn/trunk/tools/depot_tools

這在Linux下面應該是要這樣做的,不過在Windows系統下,我覺得這樣做更方便一點:

推薦操作:

由於之前安裝了SVN、Git等工具,所以我們可以直接這樣取depot_tools工具:

回到桌面,右擊


直接選擇SVN Checkout


將  http://src.chromium.org/svn/trunk/tools/depot_tools  填到URL of respository去,Checkout directory可以自己隨便指定你要存盤的路徑(建議存在不要有中文的路徑,因爲一會要添加到系統的PATH的),其他默認,然後點擊OK,自動下載,就可以拿到depot_tools工具了。

 

重頭戲來了!獲取WebRTC源碼:

源碼網址爲   http://webrtc.googlecode.com/svn/trunk/

5. 爲了把源碼抓下來,可以建立一個WebRTC的源碼目錄

比如D:\WebRTC

一般操作:(不推薦)

用DOS命令進入該目錄,然後

svn checkout http://webrtc.googlecode.com/svn/trunk/

下載完成後, WebRTC下會得到一個默認名爲trunk的文件夾,裏頭就是WebRTC源碼了,只是源碼而已,並沒有編譯的相應工程文件。

然後

>gclient config https://webrtc.googlecode.com/svn/trunk     (要下載1個多G的文件,網速不好的,可以去玩一盤dota回來)

>gclient sync --force     (同步項目文件)

> gclient runhooks --force     (生產各種項目文件,像VS項目文件webrtc.sln文件,Linux的MakeFile文件)

等等…可是我發現很多嘗試編譯WebRTC的同學在DOS命令進入操作就出現了各種問題了、、、

比如:Installing subversion ...

[-] XMLHTTP 80072ee2: Cannot make HTTP request (操作超時

... Failed to checkout svn automatically.

Please visit http://subversion.tigris.org to download the latestsubversion clie

nt

before continuing.(這個是網絡連接問題,多試幾次)

 

F:\WEBRTC\webrtc>gclient.bat confighttps://webrtc.googlecode.com/svn/trunk

Installing python ...(這個是配置問題)

 

等等令人抓狂的問題。本來我們已經安裝好了python、SVN了,怎麼還需要Installing呢、、、而且會讓你等很久,鬱悶吧!

推薦操作:

但是我這樣做更好:

選擇WebRTC文件夾,右擊->


然後選擇Git Bash,然後就直接進入該目錄了:(如下圖)


OK了,是時候獲取WebRTC源碼來生產工程了(如果單純是爲了獲取WebRTC源碼,完全可以按照獲取depot_tools那樣來操作,但是我們還要獲取完源碼後需要生產工程文件的)

第一步,拿源代碼:svn checkout http://webrtc.googlecode.com/svn/trunk/   (源文件不是很大,幾十M)

第二步,拿項目工程相關配置文件:gclient config https://webrtc.googlecode.com/svn/trunk    (文件很大,1G多,要等很久哦)

第三步,與Google同步項目文件,獲取最新工程:gclient sync --force

第四步,生產各平臺的項目文件:gclient runhooks --force

注意:在第四步之前,如果在Windows平臺下,需要安裝Windows的DirectX SDK和SDK 7.1

下載地址:

SDK 7.1:

http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=8279

DirectX SDK:

       http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=6812

再注意:

安裝SDK 7.1的時候,一定要注意SDK 7.1的安裝路徑,因爲在WebRTC項目在配置中有規定,配置文件在.. .\trunk\src\build 名爲common.gypi 的文件

如圖:


就是說Google默認SDK 7.1安裝在C盤下,如果同學你不想安裝在C盤下,那麼就要修改一下這個配置文件了,不然的話,執行第四步的時候就會出現各種warning問題的。

如果不想安裝SDK,可以從這裏下所依賴的文件:

svn co http://vsfiltermod.googlecode.com/svn/trunk/src/BaseClasses,然後把文件放置在這個路徑:C:/ProgramFiles/Microsoft SDKs/Windows/v7.1/Samples/multimedia/directshow/baseclasses

 

如果你順利完成以上四步的話,而且在第四步的時候沒有出現什麼問題的話,那麼恭喜你,就可以在trunk目錄下看到Windows系統平臺下的webrtc.sln項目工程文件了。Linux的項目文件在trunk\build的install-build-deps.sh腳本。還有Mac OS和Android等等。。。

 

Linux平臺需要安裝的東西更多:

g++ (>= 4.2)

  python (>= 2.4)

  libasound2-dev

  libpulse-dev

  libjpeg62-dev

  libxv-dev

  libgtk2.0-dev

  libexpat1-dev

 

For 32-bit builds on a 64-bit system:

  lib32asound2-dev

  ia32-libs

 

好了,本人是在VS 2008上研究的,打開webrtc.sln,然後生成解決方案,目前爲止已經解決方案裏有122個項目,音頻引擎,視頻引擎,還有很多測試代碼,視頻聊天測試,API測試,自動測試,VP8和H.264編碼測試,聲音測試,通道測試、、、等等,全部生成完成大概半個小時左右。。。、、、OK,Enjoy!

編譯時要注意,解決方案的配置:

保證有如下配置:包含文件 DirectX SDK\Include和$(WindowsSdkDir)\include



庫文件:DirectX SDK\Lib\x86    DirectX SDK\Lib   SDKs\Windows\v7.1\Lib




以後有時間再和大家分享這些測試。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章