Ninja使用教程

2021-10-11 12:26:38 字數 1392 閱讀 9209

ninja 是google的一名程式設計師推出的注重速度的構建工具,一般在unix/linux上的程式通過make/makefile來構建編譯,而ninja通過將編譯任務並行組織,大大提高了構建速度。

ninja的目標是成為匯程式設計序。

構建系統在需要做出決策時變得緩慢。當您處於編輯 - 編譯週期時,您希望它盡可能快 - 您希望構建系統執行必要的最少工作以確定需要立即構建的內容。

ninja包含描述任意依賴圖所需的最基本功能。它缺乏語法使得無法表達複雜的決策。

相反,ninja旨在與生成其輸入檔案的單獨程式一起使用。生成器程式(如./configure在autotools專案中找到的)可以分析系統依賴性並盡可能多地做出盡可能多的決策,以便增量構建保持快速。超越自動工具,甚至構建時決定,比如「我應該使用哪個編譯器標誌?」 或「我應該構建除錯或發布模式二進位制檔案?」 屬於.ninja檔案生成器。

設計目標:

一些明確的非目標:

重申一下,ninja比其他構建系統更快,因為它非常簡單。您必須告訴ninja在建立專案.ninja檔案時要做什麼。

apt-get install ninja-build

安裝re2c:

yum install autoconf

git clone

cd re2c./autogen.sh

./configure makemake install

以上如果沒有報錯的話安裝完畢了,因為re2c作為基礎依賴,所以這裡採用預設安裝,上面的安裝說明頁面也給出了詳細的安裝細節。

git clone  ninja
github上有提供以下兩種安裝的命令:

這裡我們採用python的安裝方式,較為方便

./configure.py --bootstrap
等待完成即可

現在可以執行./configure.py --help檢視幫助,直接執行./configure.py --bootstrap進行編譯,

編譯完成之後,當前目錄下會有ninja的可執行檔案,執行./ninja -h可以檢視幫助

ninja比較精簡,只需要乙個可執行檔案即可,現在可以做軟鏈或者複製到/usr/bin下面就可以直接呼叫了,比如:

cp ninja /usr/bin/
然後可以直接使用 ninja 命令,這樣就安裝好了。

ninja構建系統入門

Android Q使用ninja快速編譯模組

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

webrtc編譯機制ninja相關分享

ninja c out default這個是編譯,編譯之前要下 gclient sync和安裝依賴軟體.build install build deps.sh還有生成專案檔案python webrtc build gyp webrtc.py 生成專案檔案有兩種方式,一種 gn 用gn gen out...

嘗試新的構造系統 Ninja

ninja 是 chrome 專案的構建工具,用來替換經典工具 make,目前這個開源工具已經被很多其它專案採用。據專案作者描述,建立這個新的構建工具,主要是為了提公升大型專案的編譯速度。由於 ninja 的設計目標之一是 必須易於嵌入大型構建系統 所以,像寫 makfile 那樣手寫規則檔案,並不...