在windows上vs2017 編譯webrtc
阿新 • • 發佈:2019-02-10
1.下載、安裝depot_tools
depot_tools是包含下載、編譯的相關工具,我們要先下載並安裝它,才能繼續後面的操作。
下載地址:點這裡
將depot_tools.zip解壓,並將解壓後的depot_tools
目錄路徑加入到系統環境變數中的path
裡面去。
將DEPOT_TOOLS_WIN_TOOLCHAIN
作為一個變數,也加入到環境變數中,它的值設定為0,這是為了告訴指令碼,在編譯的時候使用我們本機的vs環境。
現在,開啟cmd,先對代理進行設定(在此之前,你要先保證你的代理正在工作,是有效的),否則後面可能會出錯,設定的方法為:
在cmd中輸入下面兩行命令:
set http_proxy=127.0 .0.1:1080
set https_proxy=127.0.0.1:1080
注意,根據代理工具的不同,上面的地址和埠可能是不同的,需要根據你的實際情況進行修改。大部分情況下都為127.0.0.1:1080
。
設定完代理後,請不要關閉cmd視窗,後續操作仍要在該視窗進行,否則仍需要重新設定代理。
在cmd中輸入gclient
命令,指令碼會進行更新,並完成相關工具的安裝。
2.使用depot_tools獲取webrtc的原始碼
先設定一些環境變數:
set GYP_MSVS_VERSION = 2017 # 指定vs版本
set GYP_MSVS_OVERRIDE_PATH = C:\Program Files (x86)\Microsoft Visual Studio\2017 \Professional #vs安裝路徑,替換成自己的
set GYP_GENERATORS=msvs-ninja,ninja
在cmd中輸入以下命令:
mkdir webrtc-checkout #這是建立一個目錄,建立之前最好cd到合適的地方
cd webrtc-checkout # 進入到我們剛剛建立的目錄中
fetch --nohooks webrtc # 獲取程式碼
gclient sync # 當過程中斷時,我們可以使用該命令恢復並繼續
- 我們git co -t M68 就下載了M68分支
請注意,程式碼比較大,有幾個G,請確認你的代理還有足夠的流量。另外,下載的時間也比較長,請耐心等待,代理方式最好選全域性,不然可能會出現一些意外情況。
下載過程中如果下載不全或者缺失gn.exe啥的,一定是自己代理軟體問題,可以修改成全域性再gclient sync一次即可
當代碼獲取完成後,cd到原始碼目錄,繼續輸入指令來生成解決方案。
cd src
gn gen out/Default --ide=vs2017
然後,輸入指令進行編譯:
ninja -C out/Default