首页 > 其他分享 >Ninja学习

Ninja学习

时间:2024-06-24 12:31:37浏览次数:17  
标签:files project Generates 学习 Unix Makefiles Ninja

先了解CMake

项目可以使用CMake语言编写的文件抽象地指定其构建系统。从这些文件中,CMake通过一个名为generator的后端在本地为每个用户生成一个首选[构建系统]。

  • Generator

    • 这选择了要生成的构建系统的类型。

    • 运行cmake --help查看本地可用的生成器列表。

      • Generators
        
        The following generators are available on this platform (* marks default):
        * Unix Makefiles               = Generates standard UNIX makefiles.
          Green Hills MULTI            = Generates Green Hills MULTI files
                                         (experimental, work-in-progress).
          Ninja                        = Generates build.ninja files.
          Watcom WMake                 = Generates Watcom WMake makefiles.
          CodeBlocks - Ninja           = Generates CodeBlocks project files.
          CodeBlocks - Unix Makefiles  = Generates CodeBlocks project files.
          CodeLite - Ninja             = Generates CodeLite project files.
          CodeLite - Unix Makefiles    = Generates CodeLite project files.
          Sublime Text 2 - Ninja       = Generates Sublime Text 2 project files.
          Sublime Text 2 - Unix Makefiles
                                       = Generates Sublime Text 2 project files.
          Kate - Ninja                 = Generates Kate project files.
          Kate - Unix Makefiles        = Generates Kate project files.
          Eclipse CDT4 - Ninja         = Generates Eclipse CDT 4.0 project files.
          Eclipse CDT4 - Unix Makefiles= Generates Eclipse CDT 4.0 project files.
        
    • 可以选择使用下面的-G选项来指定一个生成器,或者简单地接受当前平台的默认CMake选项

      • cmake . -G Ninja

Ninja介绍

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

一般是通过cmake来生成ninja的配置,进而进行编译。

使用方法

mkdir build

cd build

cmake .. -G Ninja # build目录会生成build.ninja文件

ninja -j8

标签:files,project,Generates,学习,Unix,Makefiles,Ninja
From: https://www.cnblogs.com/tarzen213/p/18264812

相关文章

  • PADS进行PCB设计学习笔记
    我们在Cadence里面绘制完原理图时,打开PADSLOGIC软件,导入原理图,然后链接到PCB中,可以实现交互式设计,有利于各个模块的布局。在进行PCB设计之前,需要先进行一些设置。设置板框选中板框在特性里直接设置板框(板框在所有层都有)要在板子上挖洞直接选中特性里面设置板框挖空区。元......
  • 【学习中】sql注入-字符型注入
    随笔里的内容都是个人理解,如果有不对的地方,还望各位大佬多多指正。一、理论基础1、什么是字符型注入字符型注入它发生在用户输入的参数被后端系统当作字符串处理,并且这些参数值在SQL查询语句中被特殊符号(如引号或括号)包裹起来的情况下。这种注入攻击的原理在于,如果后端系统......
  • 想要成为一名人工智能从业者?系统学习机器学习是重点!
    想要成为一名人工智能从业者?系统学习机器学习是重点!机器学习是一门不需要进行明确编程就能使计算机发挥作用的科学。在过去的十年里,机器学习已经为我们提供了自动驾驶汽车、实时语音识别、高效网络搜索等实用工具,并帮助我们极大地提升了对人类基因组的认知。许多研究人员都......
  • 基于深度学习的图片风格转换系统(论文)
    目录目录基于深度学习的图片风格转换系统1摘要1Abstract21背景介绍及选题意义111.1背景介绍111.2选题意义112相关方法介绍132.1纹理建模132.2图像重建132.3图像风格迁移132.3.1基于在线图像优化的慢速图像风格迁移算法132.3.2基于离线模......
  • 【机器学习】自然语言处理的新前沿:GPT-4与Beyond
      ......
  • 机器学习(二)
    机器学习3.分类算法3.1sklearn转换器和估计器3.1.1转换器3.1.2估计器(在sklearn实现机器学习算法)3.2K-近邻算法3.2.1什么是K-近邻算法3.2.2K-近邻算法API3.2.3案例:鸢尾花种类预测3.2.4K-近邻总结3.3模型选择与调优3.3.1交叉验证(crossvaildation)3.3.2超参......
  • springBoot-web 学习案例
    环境的准备准备数据库表创建springboot工程,引入对应的起步依赖(web、mybatis、mysql驱动、lombok)pom.xml<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSche......
  • c语言基础学习
    数据类型1.基本数据类型整数类型:用于表示整数值,包括int、short、long等。int:通常为4个字节,即32位。short:通常为2个字节,即16位。long:通常为4个字节,即32位(在32位系统上),为8个字节,即64位(在64位系统上)。longlong:通常为8个字节,即64位。intintege......
  • Java学习
    idea使用使用idea自动生成get和set方法Idea快捷键删除当前行ctrl+d添加注释或取消ctrl+/自动导包(需要先设置)alt+Enter自动调整代码格式ctrl+shift+L运行代码ctrl+R构造器生成、get、set方法、tostring、在pom.xml文件中快捷配置依赖alt+inse......
  • m基于深度学习的卫星遥感图像轮船检测系统matlab仿真,带GUI操作界面
    1.算法仿真效果matlab2022a仿真结果如下:      2.算法涉及理论知识概要      在卫星遥感图像轮船检测中,常用的深度学习模型主要包括卷积神经网络(CNN)、循环神经网络(RNN)、以及两者的混合模型,但最常使用的还是基于CNN的模型,特别是那些在目标检测任务中表现出......