1. 程式人生 > >在windows上vs2017 編譯webrtc

在windows上vs2017 編譯webrtc

1.下載、安裝depot_tools

depot_tools是包含下載、編譯的相關工具,我們要先下載並安裝它,才能繼續後面的操作。

下載地址:點這裡

將depot_tools.zip解壓,並將解壓後的depot_tools目錄路徑加入到系統環境變數中的path裡面去。

depot_tools

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