ninja环境安装

ninja是一个小型构建系统,专注于速度,和常用的make类似,有一些软件就是基于ninja编译构建的,比如clickhouse数据库就需要依赖ninja,因为最近在研究clickhouse,需要依赖于gcc 7,gtest,ninja等一些组件,所以单独拿出来这些组件记录安装过程,这样会更清晰一些.

官网传送门 https://ninja-build.org/

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.git
cd ninja

github上有提供以下两种安装的命令:

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

./configure.py --bootstrap

等待完成即可

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

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

cp ninja /usr/bin/

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

本文分享自微信公众号 - 喘口仙氣(gh_db8538619cdd),作者:Anymarvel

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-03-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Android O 行为变更官方指南

    Android O 除了提供诸多新特性和功能外,还对系统和 API 行为做出了各种变更。本文重点介绍您应该了解并在开发应用时加以考虑的一些主要变更。

    Anymarvel
  • SDK集成第三方依赖发布Maven的方法

    aar引用很简单,将aar复制到libs包下,在项目的build.gradle文件中增加以下代码即可(以aarName.aar为为例):

    Anymarvel
  • Android 一直怎样在速度上追赶 iOS

    一直以来人们都有这样的印象,认为搭载iOS系统的iPhone一定比搭载Android系统的安卓手机流畅。潜移默化中,不少果粉甚至是普通吃瓜群众都形成了这样的思维...

    Anymarvel
  • ninja编译

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    sofu456
  • 【Rust日报】2020-05-19 Gamedev #4: 全栈Rust编程的好处

    这是一个多数值json objects检索器。这个软件包可以创建基于点路径(dot path)的json objects的排序表, 这个有点类似mongodb那...

    MikeLoveRust
  • Geant4的几何边界判断代码解析

    以伽玛在Boundary2处做讲解分析。首先判断PreStepPoint所在的physicalvolume是否为”phybgo”,然后通过以下三种方式给出Bou...

    梁佐佐
  • 为什么风险资本的未来取决于优步

    优步是对过去8年投资于硅谷的风险资本是否值得的最终测试。 优步目前估值600亿美元,还是私人公司。除了公司管理层和少数投资人没有人真正知道优步的账面如何。 如...

    点滴科技资讯
  • iOS 组件化开发(四):fastlane实现pod自动化

    LinXunFeng
  • 将基于MicroProfile的应用程序部署到IBM Cloud Private

    Eclipse MicroProfile是一个开源项目,用于优化Java企业版的微服务体系结构。基于MicroProfile的应用程序可以部署到K...

    Techeek
  • ubuntu安装Django

    Django是一个可以使Web开发工作愉快并且高效的Web开发框架。 使用Django,使你能够以最小的代价构建和维护高质量的Web应用。

    墨文

扫码关注云+社区

领取腾讯云代金券