gn、ninja的安裝-Ubuntu18.04

版權聲明:原創文章,歡迎轉載,但請註明出處,謝謝。https://blog.csdn.net/qiuguolu1108/article/details/103842556

gn的安裝需要使用ninja,所以首先安裝ninja。

ninja的安裝需要依賴re2c,gn的安裝需要使用clang編譯器,並且gn中使用了C++17,在Ubuntu16安裝的clang-6.0是不支持C++17的,爲了方便安裝轉戰到Ubuntu18。

每次最頭疼的都是搭建環境,特別浪費時間。目標是學習gn和ninja,所以怎麼方便怎麼來。在Ubuntu18搭建環境要比Ubuntu16方便很多,所以選用Ubuntu18。

ninja的安裝

一、安裝依賴

在安裝ninja之前,需要安裝其依賴re2c

root@ubuntu:~# apt-get install re2c
root@ubuntu:~# re2c --version
re2c 1.0.1

我安裝的是 1.0.1 版本

二、下載ninja

在github中下載ninja,ninja github地址https://github.com/ninja-build/ninja

git clone https://github.com/ninja-build/ninja.git
三、編譯ninja

進入剛纔下載的ninja目錄中,執行編譯腳本。

./configure.py --bootstrap   #在ninja目錄中執行
四、安裝ninja

編譯結束後,會在ninja目錄中生成ninja的可執行程序ninja。可以直接將ninja程序拷貝到/usr/bin中,方便又省事。

cp ./ninja  /usr/bin  #在ninja目錄中執行

現在就可以在任意位置使用ninja了。

效果如下:

root@ubuntu:~# ninja --version
1.9.0.git

gn的安裝

下載最新版的gn貌似需要翻牆,直接在github中找了一個,雖然不是最新版的,但可以用。

gn的官方源:https://chromium.googlesource.com/chromium/src/tools/gn

我自己使用的github鏈接:https://github.com/timniederhausen/gn

一、先安裝clang

gn的編譯需要使用clang編譯器,並且gn使用了C++17的語法,所以需要使用較高版本的clang。

我自己安裝的是clang 7.0,是可以使用的。

sudo apt-get install clang-7

安裝clang以後需要做一點修改,用上述方法安裝的clang,直接在命令行中輸入clang是無法使用的,在/usr/bin目錄下看到是clang-7、clang++-7、clang-cpp-7。但在編譯gn的時候,需要使用clang++命令,所以給這個三個可執行程序做一個軟連接,修改一下它們的名字。

進入/usr/bin/目錄,修改如下:

ln -s clang-7 clang
ln -s clang++-7 clang++
ln -s clang-cpp-7 clang-cpp

在命令行中輸入clang --version,顯示如下內容,說明clang安裝成功。

root@ubuntu:~# clang++ --version
clang version 7.0.0-3~ubuntu0.18.04.1 (tags/RELEASE_700/final)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin
二、下載gn
git clone https://github.com/timniederhausen/gn.git
三、編譯 gn

進入剛纔下載的gn目錄中,先執行gn的配置腳本。

./build/gen.py

然後在gn目錄中執行:

ninja -C out

編譯結束後,gn程序就在gn/out目錄中。

四、安裝gn

gn/out目錄下的gn複製到/usr/bin目錄就可以在任意位置使用gn了。

cp ./out/gn /usr/bin     #在gn目錄下執行

效果如下:

root@ubuntu:~# gn --version
1641 (0a06cb92a)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章