其他分享
首页 > 其他分享> > Ninja使用教程

Ninja使用教程

作者:互联网

Ninja使用教程

Created: Dec 6, 2020 8:20 PM
Tags: 工具

软件简介

Ninja 是Google的一名程序员推出的注重速度的构建工具,一般在Unix/Linux上的程序通过make/makefile来构建编译,而Ninja通过将编译任务并行组织,大大提高了构建速度。

Ninja的目标是成为汇编程序。

构建系统在需要做出决策时变得缓慢。当您处于编辑 - 编译周期时,您希望它尽可能快 - 您希望构建系统执行必要的最少工作以确定需要立即构建的内容。

Ninja包含描述任意依赖图所需的最基本功能。它缺乏语法使得无法表达复杂的决策。

相反,Ninja旨在与生成其输入文件的单独程序一起使用。生成器程序(如 ./configure 在autotools项目中找到的)可以分析系统依赖性并尽可能多地做出尽可能多的决策,以便增量构建保持快速。超越自动工具,甚至构建时决定,比如“我应该使用哪个编译器标志?” 或“我应该构建调试或发布模式二进制文件?” 属于 .ninja 文件生成器。

设计目标:

一些明确的非目标

重申一下,Ninja比其他构建系统更快,因为它非常简单。您必须告诉Ninja在创建项目 .ninja 文件时要做什么。


软件安装

debian/ubuntu

apt-get install ninja-build

Centos

ninja需要依赖于re2c,否则编译是会报错,re2c是一款语法分析器,官网地址是:http://re2c.org/下载页面的安装说明都在:http://re2c.org/install/install.html,这里直接从源码安装最新版本

安装re2c:

yum install autoconf
git clone https://github.com/skvadrik/re2c
cd re2c./autogen.sh
./configure makemake install

以上如果没有报错的话安装完毕了,因为re2c作为基础依赖,所以这里采用默认安装,上面的安装说明页面也给出了详细的安装细节。

然后可以安装ninja了,ninja官网地址:https://ninja-build.org/,github仓库地址:https://github.com/ninja-build/ninja,可以从github仓库克隆项目切换到release分支或者下载release包安装过程如下:

git clone https://github.com/ninja-build/ninja.gitcd ninja

github上有提供以下两种安装的命令:
在这里插入图片描述

这里我们采用python的安装方式,较为方便

./configure.py --bootstrap

等待完成即可

现在可以执行./configure.py --help查看帮助,直接执行./configure.py --bootstrap进行编译,
编译完成之后,当前目录下会有ninja的可执行文件,执行 ./ninja -h 可以查看帮助

ninja比较精简,只需要一个可执行文件即可,现在可以做软链或者复制到/usr/bin下面就可以直接调用了,比如:

cp ninja /usr/bin/

然后可以直接使用 ninja 命令,这样就安装好了。

使用

Ninja构建系统入门

标签:教程,re2c,使用,编译,构建,ninja,Ninja,安装
来源: https://blog.csdn.net/GentleLiuYY/article/details/111126969