nmake、makefile、cmake学习笔记

article/2025/10/16 14:37:44

1.nmake

1.1 nmake reference

NMAKE.EXE是Visual Studio附带的一个命令行工具,它基于描述文件中包含的命令生成项目。
要使用NMAKE,必须在开发人员命令提示符窗口中运行它。开发人员命令提示符窗口为工具、库设置了环境变量,并包含在命令行中生成所需的文件路径。在这里插入图片描述

VS2010开发人员命令提示符窗口

1.2 运行nmake

1.2.1 语法

NMAKE [option ...] [macros ...] [targets ...] [@command-file ...]

1.2.2 评论

NMAKE只生成指定的目标,如果未指定任何目标,则生成makefile中的第一个目标。

第一个makefile目标可以是构建其他目标的伪目标。NMAKE使用使用/F指定的makefiles,如果未指定/F,则使用当前目录中的Makefile文件。如果未指定makefile,它将使用推理规则来构建命令行目标。

命令文件文本文件(或响应文件)包含命令行输入。其他输入可以在@command-file之前或之后。允许一条路径。在命令文件中,换行符被视为空格。如果宏定义包含空格,请将其括在引号中。

1.2.3 NMAKE选项(options)

下表介绍了NMAKE选项。选项前面有斜杠(/)或破折号(-),不区分大小写。使用!CMDSWITCHES可更改makefile或Tools.ini中的选项设置。

选项目标
/A强制构建所有评估目标,即使与从属目标相比没有过时。不强制构建不相关的目标。
/B即使时间戳相等,也会强制构建。建议仅用于快速系统(分辨率为2秒或更短)。
/C抑制默认输出,包括非致命的NMAKE错误或警告、时间戳和NMAKE版权消息。抑制/K发出的警告。
/HELP, /?显示NMAKE命令行语法的简要摘要。
/F filename将文件名指定为makefile。空格或制表符可以位于文件名之前。为每个makefile指定一次/F。要从标准输入提供makefile,请为文件名指定短划线(-),并使用F6或CTRL+Z结束键盘输入。

1.2.4 Tools.ini and NMAKE

NMAKE在读取makefiles之前读取Tools.ini,除非使用/R。它首先在当前目录中查找Tools.ini,然后在INIT环境变量指定的目录中查找。初始化文件中的NMAKE设置部分以[NMAKE]开头,可以包含任何makefile信息。在以数字符号(#)开头的单独行上是注释。

1.2.5 NMAKE的退出代码

代码含义
0没有错误(可能一个警告)
1生成不完整(仅在使用/K时发布)
2程序错误,可能由以下问题之一引起:-makefile中的语法错误;-命令中的错误或退出代码;-用户的中断
4系统错误-内存不足
255目标不是最新的(仅在使用/Q时发布)

1.3 NMAKE makefile内容和功能

2.cmake

  • cmake -G Ninja是什么意思啊

cmake -G Ninja 是一个 CMake 命令,用于生成 Ninja 构建系统的构建文件。Ninja 是一种快速、轻量级的构建系统,可以代替传统的 Make 工具。使用 -G 参数指定生成器名称,这里指定生成 Ninja 构建系统所需的构建文件。

相关文献

NMAKE Reference
5分钟理解make/makefile/cmake/nmake
nmake命令(windows下的makefile)
nmake.exe使用整理


http://chatgpt.dhexx.cn/article/gkjT9X6R.shtml

相关文章

cmake nmake qmake 的区别联系

👇推荐关注👇 经常记不住这几个概念,都看了几次了还是容易忘,为以后方面查阅,故而从知乎上复制粘贴过来。 1、gcc是GNU Compiler Collection(就是GNU编译器套件),也可以简单认为是编…

VC++NMAKE

目 录 第1章 NMAKE 1 1.1 运行NMAKE 1 1.1.1 NMAKE的实质 2 1.2 描述块 3 1.2.1 定义 3 1.2.2 多个描述块 3 1.2.3 依赖 4 1.2.4 长文件名 4 1.2.5 多目标 4 1.2.6 合并 5 1.3 宏 5 1.3.1 定义、使用 5 1.3.2 作…

WINDOWS CMAKE与NMAKE

什么是cmake 你或许听过好几种 Make 工具,例如 GNU Make ,QT 的 qmake ,微软的 MSnmake,BSD Make(pmake),Makepp,等等。这些 Make 工具遵循着不同的规范和标准,所执行的…

vs 编译nmake工程

以本人电脑为例: 1、将D:\program files\visual studio 2013\VC\bin这个路径添加到系统环境变量的path中 2、打开cmd的控制台命令行界面 输入nmake与cl来测试是否报错 3、编译make文件: cd到源文件所在目录,使用命令nmake /F *.nmake编译m…

nmake 环境变量配置

本农有3年多C/C开发经验,最近面试全部翻车,总结原因是基础知识不过关,于是最近在看C primer 5,配套的源代码编译没通过,原因是nmake需要配置环境变量,总结错误如下 1.找不到nmake命令 解决方法:找到nmake所在路径,我用的是vs2010,C:\Program Files (x86)\Microsoft Visual Stud…

nmake命令(windows下的makefile)

1. 如果已经有vc6的dsp工程,可直接导出nmake脚本文件(.mak) “Project - Export Makefile...” nmake -f nMakeTest.mak CFG"nMakeTest - Win32 Debug" nmake -f nMakeTest.mak CFG"nMakeTest - Win32 Debug" all nmake -f nMakeTest.mak CFG&q…

nmake简介

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 nmake学习初步 前言一、nmake在哪里?二、Makefile编写1.hello.c实例代码2. Makefile3 扩展 前言 一直使用vs的IDE,最近编译sqlcipher时,发…

第八章 查询和检索:Query DSL

版权声明 本文为Elastic开源社区版权所有,保证独立性和原创性,未获得授权和允许,任何组织和个人不得以任何方式传播或复制或分享。否则必将追究法律责任。 知识内容输出不易,请尊重他人劳动成果。严禁随意传播、复制和盗用他人成果或文章内容用以商业或盈利目的! 1、查询…

mysql-dql(Data QueryLanguage)summary

1.基础查询 DESC 库名//查看库SHOW DATABASES ;//查看当前所在数据库SHOW TABLES;//查看当前库的所有表USE database;//datebase为需要查询的库名SELECT attribute,attribute2 FROM form;//从form中查询attribute,attribute2SELECT * FROM beauty;//查询表中所有属性SELECT DI…

db.query的使用

首先假设有如下表格,表格名称为:"Employees" SQL基本格式如下: [sql] view plain copy print ? select 列名称 from 表名称 最基本SQL语句,就是从表中选取要返回的列数据,不加任何过滤条件。当然如果&qu…

Elasticsearch——Query DSL语法入门

Query DSL入门 官网介绍链接: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html search api就是对存储在elastic search(以下简称es)中的数据进行查询的相关API,可以类比mysql中的select语句。…

Data Query Language(DQL):数据查询语言

Data Query Language(DQL):数据查询语言 基础查询查询所有列查询指定列 条件查询条件查询介绍查询示例如下 模糊查询模糊查询介绍查询示例如下 字段控制查询排序聚合函数分组查询分页查询 建立三张表用于查询,表中数据如下。 stu表…

SpringDataJPA+QueryDSL玩转态动条件/投影查询

在本文之前,本应当专门有一篇博客讲解SpringDataJPA使用自带的SpecificationJpaSpecificationExecutor去说明如何玩条件查询,但是看到新奇、编码更简单易懂的技术总是会让人感到惊喜,而且QueryDSL对SpringDataJPA有着完美的支持。如果你没有使…

ES的Query DSL语句介绍

1、term 过滤 term主要用于精确匹配哪些值,比如数字,日期,布尔值或 not_analyzed 的字符串(未经切词的文本数据类型): { "term": { "date": "2017-07-01" }} { "term": { "tit…

QueryDSL配置

QueryDSL配置 1&#xff1a;maven配置- <dependency><groupId>com.querydsl</groupId><artifactId>querydsl-jpa</artifactId><version>5.0.0</version></dependency><dependency><groupId>com.querydsl</gro…

Elasticsearch:DSL Query

Query DSL的分类 Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括&#xff1a; 查询所有&#xff1a;查询出所有的数据&#xff0c;一般测试用&#xff0c;例如&#xff1a;match_all&#xff0c;但有分页限制&#xff0c;一次20…

SpringBoot+Querydsl 框架,大大简化复杂查询操作

概述 本篇博客主要将介绍的是利用spring query dsl框架实现的服务端查询解析和实现介绍。 查询功能是在各种应用程序里面都有应用&#xff0c;且非常重要的功能。用户直接使用的查询功能往往是在我们做好的UI界面上进行查询&#xff0c;UI会将查询请求发给查询实现的服务器&a…

QueryDSL 关于Q类找不到的问题

先编译代码&#xff0c;如果是在idea中&#xff0c;光标移动到项目上&#xff0c;F4&#xff0c;让后如图操作 回到项目中编码&#xff0c;就可以找到Q类了

JPA 之 QueryDSL-JPA 使用指南

Querydsl-JPA 框架&#xff08;推荐&#xff09; 官网&#xff1a;传送门 参考&#xff1a; JPA整合Querydsl入门篇SpringBoot环境下QueryDSL-JPA的入门及进阶 概述及依赖、插件、生成查询实体 1.Querydsl支持代码自动完成&#xff0c;因为是纯Java API编写查询&#xff0…

使用spring data Querydsl 实现动态查询功能

Table of Contents 概述 定义查询请求 google-like查询 特定字段的类sql查询 使用Spring Data Querydsl 利用Spring Query DSL实现动态查询 实现过程中的难题 主表包含多个子表数据时的AND查询 概述 本篇博客主要将介绍的是利用spring query dsl框架实现的服务端查询解…