首次使用ninja的體驗

首先總結說自己的理解,就是NINJA是一個和MAKE同一級別的編譯工具,在CMAKE/GRADLE等工具之下工作

cmake目前可以生成makefile,也可以生成ninja文件(CMAKE選項中增加了-G Ninja)

使用ninja all編譯生成的ninja文件

1.工具準備:

re2c工具:http://re2c.org/index.html,下載tar包解壓后進行編譯

? ? 前提:要提前安裝好gcc和g++

? ? cd?~/re2c-1.0.1

? ???./configure

? ??make

? ??make install

ninja:源碼安裝

? ? mkdir ninja-src && cd ninja-src

? ??git clone https://github.com/ninja-build/ninja.git && cd ninja

? ??./configure.py --bootstrap

? ??sudo cp ninja /usr/bin/

? ??sudo chmod 777 /usr/bin/ninja

驗證ninja是否可以正常工作:

? ???ninja --version? (如果輸出版本好說明成功)

使用ninja:

? ? 我們當然可以像make那樣編寫MakeFile文件然后make?all來編譯整個工程

? ? 當然也可以直接編寫build.ninja文件然后ninja all來編譯工程

? ? 但是有CMake這樣的工具可以生成ninja編譯文件,這樣更方便

? ? 首先編寫CMakeLists.txt,然后cmake -G Ninja生成build.ninja,最后ninja all對該build文件進行編譯,生成二進制成果物

引用:

https://blog.csdn.net/universsky2015/article/details/118021662

Ninja安裝和基本使用 - 知乎

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/36467.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/36467.shtml
英文地址,請注明出處:http://en.pswp.cn/news/36467.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Element組件淺嘗輒止5:Empty 空狀態組件

Empty空狀態組件&#xff1a;空狀態時的占位提示。 如第一次進入當前功能模塊時&#xff0c;數據狀態為空&#xff0c;則展示空狀態&#xff0c;可用到Empty組件 1.How? <el-empty description"描述文字"></el-empty> 2.自定義圖片 通過設置 image 屬…

plsql開發中動態sql的使用教程(不使用dbms_sql包)

一般的PL/SQL程序設計中&#xff0c;在DML和事務控制的語句中可以直接使用SQL&#xff0c;但是對于新建存儲過程&#xff0c;其中涉及傳參要被應用為列名時&#xff0c;不能在PL/SQL中直接使用&#xff0c;一會兒下面舉例介紹&#xff0c;那么要想實現設計的功能&#xff0c;可…

PyTorch Lightning教程七:可視化

本節指導如何利用Lightning進行可視化和監控模型 為何需要跟蹤參數 在模型開發中&#xff0c;我們跟蹤感興趣的值&#xff0c;例如validation_loss&#xff0c;以可視化模型的學習過程。模型開發就像駕駛一輛沒有窗戶的汽車&#xff0c;圖表和日志提供了窗口&#xff0c;讓我們…

Docker的基本概念及鏡像加速器的配置

1.Docker的概念 由于代碼運行環境不同&#xff0c;代碼運行會出現水土不服的情況。運用docker容器會把環境進行打包&#xff0c;避免水土不服。docker是一種容器技術&#xff0c;它解決軟件跨環境遷移的問題。 2&#xff0c;安裝Docker 3.Docker架構 4.Docker鏡像加速器的配…

我們常說這個pycharm里有陷阱,第三方庫導入失敗,看這里!

最近有小伙伴遇到了明明安裝了 python 第三方庫&#xff0c;但是在 pycharm 當中卻導入不成功的問題。 ? 一直以來&#xff0c;也有不少初學 python 的小伙伴&#xff0c;一不小心就跳進了虛擬環境和系統環境的【陷阱】中。 本文就基于此問題&#xff0c;來說說在 pycharm 當…

Spring Cloud 面試突擊2

Spring Cloud 面試突擊2 高并發&#xff1a;是一種系統運行過程中遇到的短時間大量的請求操作 響應時間&#xff1a; 吞吐量&#xff1a; QPS&#xff1a;數據庫為維度 TPS 并發用戶數 并發的維度&#xff1a;很多的 并發是不是達到的當前系統的瓶頸 緩存 &#xff08…

計算機網絡—IP

這里寫目錄標題 IP的基本認識網絡層與數據鏈路層有什么關系IP地址基礎知識IP 地址的分類什么是A、B、C類地址廣播地址用來做什么什么是D、E類廣播多播地址用于什么IP分類的優點IP分類的缺點 無分類地址CIDR如何劃分網絡號和主機號怎么進性子網劃分 公有 IP 地址與私有 IP 地址公…

【Spring源碼】Java里面的jdk代理與Cglib動態代理

Springboot默認使用的是Cglib動態代理 案例一&#xff1a;TransactionAutoConfiguration配置類 org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration Configuration(proxyBeanMethods false)ConditionalOnBean(TransactionManager.class)Cond…

指針---進階篇(二)

指針---進階篇&#xff08;二&#xff09; 前言一、函數指針1.拋磚引玉2.如何判斷函數指針&#xff1f;&#xff08;方法總結&#xff09; 二、函數指針數組1.什么是函數指針數組&#xff1f;2.講解函數指針數組3.模擬計算器&#xff1a;講解函數指針數組 三、指向函數指針數組…

Maven基礎之倉庫、命令、插件機制

文章目錄 Maven 倉庫中央倉庫和本地倉庫中央倉庫本地倉庫 Maven 命令generate 命令compile 命令clean 命令test 命令package 命令install 命令 Maven 插件機制官方插件&#xff1a;Compile 插件Tomcat 7 插件 Maven 倉庫 中央倉庫和本地倉庫 [?] 簡單一點說 中央倉庫是一個網…

Redis復制

在Redis中&#xff0c;用戶可以通過執行SLAVEOF命令或者設置slaveof選項&#xff0c;讓一個服務器去復制(replicate) 另一個服務器&#xff0c;我們稱呼被復制的服務器為主服務器(master)&#xff0c;而對主服務器進行復制的服務器則被稱為從服務器(slave)&#xff0c;如下圖所…

Vue修飾符

事件修飾符 在Vue 2.0中&#xff0c;事件修飾符允許我們在處理事件時對其進行修改或增強。以下是一些常用的事件修飾符&#xff1a; .stop&#xff1a;阻止事件冒泡。使用此修飾符后&#xff0c;父元素的相同事件不會再觸發。.prevent&#xff1a;阻止事件的默認行為。比如&…

mybatis 中的<![CDATA[ ]]>用法及說明

<![CDATA[ ]]>作用 <![CDATA[ ]]> 在mybatis、ibatis等書寫SQL的xml中比較常見&#xff0c;是一種XML語法&#xff0c;他的作用是 可以忽略xml的轉義&#xff08;在該標簽中的語句和字符原本是什么樣的&#xff0c;在拼接成SQL后還是什么樣的&#xff09; 使用&a…

代碼生成模型任務設計

背景&#xff1a; 模型應該具備&#xff0c;理解代碼的能力、知道代碼規則的能力、知道關鍵詞和變量的能力、知道代碼邏輯的能力、文本到代碼翻譯能力、代碼關聯能力、代碼續寫能力。 代碼理解能力&#xff1a;pretrain讓模型讀足夠多代碼、記住代碼一些規則、代碼問答、基于…

PHP codeigniter4 搭配Nginx

> 主要是為了用Nginx運行PHP環境 1. Nginx 官方文檔的配置 default.conf? This configuration enables URLs without “index.php” in them and using CodeIgniter’s “404 - File Not Found” for URLs ending with “.php”. server {listen 80;listen [::]:80;se…

springboot 基礎

鞏固基礎&#xff0c;砥礪前行 。 只有不斷重復&#xff0c;才能做到超越自己。 能堅持把簡單的事情做到極致&#xff0c;也是不容易的。 SpringBoot JavaEE 簡介 JavaEE的局限性&#xff1a; 1、過于復雜&#xff0c;JavaEE正對的是復雜的分布式企業應用&#xff0c;然而現實…

MySQL表的基礎的增刪改查

增(insert into) 插入所有列的數據 不寫具體列名要確保字段都對應正確 -- 假設你有一個名為 "employees" 的表&#xff0c;有多個列 INSERT INTO employees VALUES (101, Alice, Manager, 50000);插入指定列的數據 -- 假設你有一個名為 "students" 的表&…

爬蟲如何應對網站的反爬機制?如何查找user-agent對應的值

import requestsurl https://movie.douban.com/top250 response requests.get(url) # 查看結果 print(response)在requests使用一文中我們有講到&#xff0c;當狀態碼不是200時表示爬蟲不可用&#xff0c;也就是說我們獲取不到網頁源代碼。但是我們還是可以掙扎一下&#xff…

一文秒懂HTTP協議到底是什么?原理?

目錄 1.什么是http協議&#xff1f; 2.http協議的版本&#xff1f; 3.http文本框架 4.http請求報文 5.http報文格式 6.http響應報文 7.HTTP的狀態碼 8.HTTP首部介紹 9.什么是URL和URI&#xff1f; 10.CGI是什么&#xff1f; 1.什么是http協議&#xff1f; http&#…

測試架構師如何落地性能測試方案(一)

背景描述&#xff1a; 最近剛接手一個新項目&#xff0c;在最開始的時候要求對這個項目做性能測試&#xff0c;產品經理也給不出性能需求&#xff0c;只因為這個項目是電商項目&#xff0c;可能會有高并發&#xff0c;秒殺的場景&#xff0c;所以產品經理要求我們對這個項目必…