资讯详情

gn、ninja的安装-Ubuntu18.04

版权声明:欢迎转载原创文章,但请注明出处,谢谢。https://blog.csdn.net/qiuguolu1108/article/details/103842556

假如你不想编译gn、ninja,想直接使用gn、ninja第二进制程序可以直接下载到博客的最后,并通过链接省略自己的编译。共享链接中有测试用例,可以直接测试gn、ninja是否可用。

文章目录

ninja的安装

一、安装依赖

二、下载ninja

三、编译ninja

四、安装ninja

gn的安装

一、先安装clang

二、下载gn

三、编译 gn

四、安装gn

gn和ninja二进制程序

一、二进制gn和ninja

二、测试用例

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)

gn和ninja二进制程序

一、二进制gn和ninja

如果你太麻烦,你可以直接使用我编译的可执行文件。我测试了这两个二进制文件,可以Ubuntu-16.04和Ubuntu-18.04上运行。

链接:https://pan.baidu.com/s/1_l8JMfuhLJgD7RKs-IDOnQ 提取码:1e0r

如果链接失效,请提醒我,我会及时更新链接。

将gn、ninja下载后直接放在/usr/bin这两个程序可以直接在目录下使用。

二、测试用例

在共享的文件夹中,我提供了一个测试用例,将上述两个可执行文件放入/usr/bin进入目录后gn-demo目录。

先使用gn生成工程。

root@learner:~/gn-demo# gn gen ./out #使用gn生成ninja工程

Done. Made 2 targets from 4 files in 4ms

再使用ninja生成可执行文件。

root@learner:~/gn-demo# ninja -C ./out #使用ninja生成可执行文件

ninja: Entering directory `./out'

[3/3] STAMP obj/default.stamp

现在可执行文件就在这里./out目录中。

root@learner:~/gn-demo# cd out/

root@learner:~/gn-demo/out# ls

args.gn build.ninja build.ninja.d hello obj toolchain.ninja

执行可执行文件hello

root@learner:~/gn-demo/out# ./hello #操作可执行程序hello

hello world

标签: gn丝印三极管

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台