webrtc編譯機制ninja相關分享

2021-09-22 21:43:55 字數 822 閱讀 6119



ninja -c out/default這個是編譯,編譯之前要下**gclient sync和安裝依賴軟體./build/install-build-deps.sh還有生成專案檔案python webrtc/build/gyp_webrtc.py

生成專案檔案有兩種方式,

一種(gn)用gn gen out/default,

另一種(gyp)用python webrtc/build/gyp_webrtc.py

gn和gyp都是生成ninjabuild檔案的元編譯系統。

不過官方標註gyp已經過期了。。。他們正在從gyp遷移到gn

gn比gyp快20倍而且更簡單,所以以後不用gyp了,用gn,當然現在還不完全支援gn,比如xcode上有問題,開發人員說他們需要幫助(

)!!~~~

gn這個檔案是在depot_tools下面,如果你執行不了,說明你沒有加入path裡:git clone之後執行export path=`pwd`/depot_tools:"$path",或者輸出你的path看下有沒有在path某個目錄下,或者嘗試執行「export chromium_buildtools_path="/你的**目錄/webrtc/src/buildtools"」。

所有平台都是ninja編譯的,vs/xcode 只是用來輔助檔案編輯和驅動檔案編譯,android ndk也是輔助android模組的使用。

另外在linux平台上早期可以用make方式編譯,但是現在只支援ninja編譯!(

官網相關:

gn目錄:

ninja官網:

gn編譯:

gyp官網:



WebRTC編譯系統之gn和ninja

webrtc現在使用 gn 來生成構建指令碼,使用 ninja 來構建。gn 比 gyp 快多了,太多,你還沒眨個眼,就結束了。我們來大概介紹下編譯 webrtc 會用到的 gn 和 ninja 相關的知識。想看編譯指南的,看這裡 ubuntu 14.04下編譯webrtc。gn 的介紹在這裡 這個...

webrtc交叉編譯

目標 實現webrtc到nanopi上的移植 思路 linux pc機 上進行交叉編譯移植到nanopi上 以下操作是基於pc機上的編譯環境已安裝並且成功編譯過x64linux的webrtc 步驟 進入到src目錄執行 2.構建專案 gn gen out default args target os...

Android Q使用ninja快速編譯模組

隨著android版本的更迭,模組的 越來越多,單編的時間也需要的越來越多,特別是framework等大體量模組,使用mm單編一次有時候需要半個小時甚至更長。還好google提供了一種新的快速編譯方式,ninja 具體使用方法為 prebuilts build tools linux x86 bin...