c语言项目,如何下载使用交叉编译工具ninja?
发布于 作者:苏南大叔 来源:程序如此灵动~
c语言项目相关的编译工具很多,除了cmake外,还有其它相关的编译软件,比如mingw64中的gcc.exe和c++.exe。本文里面讲述其中的ninja编译工具。当然对于c语言项目来说,ninja并不是必须的,只是其中的一个可选选项。只是本轮cpp项目的相关模块项目的编译,可能需要ninja工具而已。

苏南大叔的“程序如此灵动”博客,记录苏南大叔的编程经验故事。本文测试环境:win10,cmake@3.28.0,ninja@1.11.1。本文的ninja和visual studio的地位作用是有些类似的,自己后续慢慢体会。
ninja
ninja官方网站,非常简陋...
github地址:
官网文字介绍:
Ninja is a small build system with a focus on speed. It differs from other build systems in two major respects: it is designed to have its input files generated by a higher-level build system, and it is designed to run builds as fast as possible.

下载ninja
然而本文并不是以编译ninja源码为目的的【不要走入歧途】,所以选择的是release下载。
ninja居然提供了release下载,而不是让大家自己去编译。点赞。
下载地址:

加入环境变量path
由于苏南大叔是从cmake认识ninja的,对于苏南大叔来说,两者是一起的。所以把这个独立文件ninja.exe放到了<cmake>/bin/下面了。当然,您也可以把ninja.exe放在任何一个合理的全局路径里面。只是方便调用而已。

自行构建ninja
这部分内容,苏南大叔仅作描述,没有尝试。
这款ninja居然有两种构建方式,一种是python,一种是cmake。其自身的编译方式类似:
./configure.py --bootstrap或者
cmake -Bbuild-cmake
cmake --build build-cmake甚至可以自己构建自己(python生成的build.ninja文件)。这就有点像构建php的时候,构建工具里面就有个php.exe。这到底是先有鸡还是先有蛋?
ninja使用命令
官方文档地址:
这里贴一下可能用到的命令:
| 命令 | 解释 |
|---|---|
| ninja | 构建 |
| ninja test | 测试 |
| ninja install | 安装到当前系统 |

相关文章
结语
这个ninja软件是把交叉编译给玩明白了,各种交叉各种编译。更多cpp相关经验文章,请点击苏南大叔的博客文章链接: