在windows上編譯webrtc過程及踩坑

2021-08-18 06:35:04 字數 2457 閱讀 3634

工作需求,開始學習webrtc。第一步,先進行編譯,然後,我只能說,真的是太坑了……在windows上編譯webrtc的過程中,隨處都是大坑,折騰了好久才搞好。這裡寫下部落格,記錄過程和坑點,希望能給自己和他人提供方便。

我的計算機是win10系統,嘗試在上面進行編譯操作,但在執行gclient命令那部分就失敗了,提示改程式無法在我的計算機上執行。。。我不確定是win10本身的問題,還是我自己的配置問題,於是,默默掏出了閒置的另外一台裝有win7的筆記本進行了嘗試,沒有出現相似的問題。

所以,這裡作業系統我建議選擇win7旗艦版。

更新:之前win10失敗的原因找出來了,是我配置了pyqt5的環境變數,導致gclient失敗,是我個人原因。因此,這裡選擇win7或win10都是可以的。

注意,系統要是64位的,記憶體至少8g,並且系統盤中要留有足夠的空間,因為vs 2017安裝時會占用約20g的系統盤空間。

另外,存放webrtc的盤需要有100g空閒記憶體,且為ntfs格式,因為在編譯過程中會生成大於4g的檔案。

因為這些問題,我還將硬碟格掉,重新分割槽,重新裝的系統,真的坑。。

vs版本選擇vs 2017 15.6,不建議使用vs 2015。我使用vs 2015編譯webrtc的最新原始碼失敗了,最後使用vs 2017編譯成功。

安裝vs 2017時,要選擇桌面c++開發功能以及mfc and atl support。另外,win 10 sdk必須安裝10.0.15063版本,其餘版本可能導致編譯失敗(親自踩坑= =)。

win 10 sdk還需要安裝debugging tools,安裝步驟為 控制面板 → 程式 → 程式和功能 → 選中「windows software development kit」 → 變更 → change → check 「debugging tools for windows」 → change.

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

depot_tools_win_toolchain作為乙個變數,也加入到環境變數中,它的值設定為0,這是為了告訴指令碼,在編譯的時候使用我們本機的vs環境。

現在,開啟cmd,先對**進行設定(在此之前,你要先保證你的**正在工作,是有效的),否則後面可能會出錯,設定的方法為:

在cmd中輸入下面兩行命令:

注意,根據**工具的不同,上面的位址和埠可能是不同的,需要根據你的實際情況進行修改。大部分情況下都為127.0.0.1:1080

設定完**後,請不要關閉cmd視窗,後續操作仍要在該視窗進行,否則仍需要重新設定**。

在cmd中輸入gclient命令,指令碼會進行更新,並完成相關工具的安裝。

先設定一些環境變數:

set gyp_msvs_version = 2017

# 指定vs版本

set gyp_msvs_override_path = c:\program files (x86)\microsoft visual studio\2017\enterprise #vs安裝路徑,替換成自己的

set gyp_generators=msvs-ninja,ninja

在cmd中輸入以下命令:

mkdir webrtc-checkout #這是建立乙個目錄,建立之前最好cd到合適的地方

cd webrtc-checkout # 進入到我們剛剛建立的目錄中

fetch --nohooks webrtc # 獲取**

gclient sync # 當過程中斷時,我們可以使用該命令恢復並繼續

當**獲取完成後,cd到原始碼目錄,繼續輸入指令來生成解決方案。

cd src

gn gen out/default

--ide=vs2017

然後,輸入指令進行編譯:

ninja -c out/default
現在,編譯開始了。如果足夠幸運的話,稍等一段時間,編譯就能完成。我剛開始用vs2015進行編譯,在這一步中會出現編譯失敗的情況,用vs2017則一切正常。祝你好運!

最後,還想感慨一句,這裡面果然很多大坑啊,真夠折騰的!

[1]webrtc windows 編譯

[3]checking out and building chromium for windows

在Windows上編譯GRPCPP SDK

install visual studio 2015 or 2017 visual c compiler will be used optional install git。如果不借助梯子,git clone獲取grpc專案超高概率失敗 install cmake。install nasm and ...

香港windows雲伺服器下編譯webrtc

前提 阿里雲上購買香港ecs,按量 4核4g winserver 2019,按量 彈性公網 國際版 250m 伺服器安裝東西免流量費 主步驟 6 同步webrtc 8 編譯webrtc 9 變更ecs為1核2g 步驟明細 gclient mkdir webrtc checkout cd webrtc...

dbus在windows上的編譯

author kagula date 2015 09 16 1 expat win32bin 2.1.0.exe 2 dbus 1.6.8.tar.gz 準備 1 先安裝expat win32bin 2.1.0.exe,我這裡的安裝路徑是 d expat 2.1.0 方式一 1 參考資料一,在 ad...