当前位置: 首页 > news >正文

CMake笔记:cmake -G “NMake Makefiles“ 后,如何生成debug与release?

1. 单配置生成器

使用 NMake Makefiles 生成器时,CMake 默认是单配置生成器(即每次只能生成一种构建类型,如 Debug 或 Release)。

所以要针对不同的config建不同的目录,通过CMAKE_BUILD_TYPE来控制生成不同nmake file。

新建目录build_debug,build_release
在这里插入图片描述

进入build_debug目录,执行以下命令,生产Debug类型

cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Debug .\..

进入build_release目录,执行以下命令,生成Release类型

cmake -G "NMake Makefiles" -DCMAKE_BUILD_TYPE=Release .\..

注:

  • 传给CMAKE_BUILD_TYPE的值,不区分大小写,可以是Release,release,RELEASE,Debug,debug等等。
  • 命令行要在处在对应的vs环境,否则会报错:在环境变量中找不到cl.exe。确保调用vcvarsall.bat之类的初始化了环境,或直接执行执行vs准备好的命令行。
    在这里插入图片描述在这里插入图片描述

2. 多配置生成器

如果需要动态切换 Debug/Release(无需分开目录),可使用多配置生成器(如 Visual Studio)

cmake -G "Visual Studio 17 2022" ..
cmake --build . --config Debug    # 编译 Debug
cmake --build . --config Release  # 编译 Release

这种方式下,同一目录支持多种配置,适用于 IDE(如 Visual Studio)或命令行动态选择。

http://www.dtcms.com/a/392673.html

相关文章:

  • 解决 pip 安装报错:Could not find a suitable TLS CA certificate bundle
  • Python快速入门专业版(三十七):Python元组:不可变序列的特点与应用场景(对比列表)
  • 【UnoCSS快速上手】:安装、配置与优化,以及遇到的问题
  • 探索 Event 框架 5:实现Spring Boot集成
  • ARM(15) - LCD(2)显示字母数字+touch
  • 五、炫饭馆项目实战
  • 01.容器生态系统
  • CSS Grid 布局示例 - grid-template-areas
  • 基于脚手架微服务的视频点播系统-客户端业务逻辑处理部分(一)
  • 501. 二叉搜索树中的众数
  • Go面试题及详细答案120题(81-100)
  • 在跨平台C++项目中条件化使用Intel MKL与LAPACK/BLAS进行矩阵计算
  • 知芽AI(paperxx)写作:开题报告写作宝典
  • c++26新功能—模板参数中的概念与变量模板
  • Linux服务器上安装配置GitLab的步骤
  • Netty原理介绍
  • 【已解决】在windows系统安装fasttext库,解决安装fasttext报错问题
  • 从“free”到“free_s”:内存释放更安全——free_s函数深度解析与free全方位对比
  • 【LeetCode 每日一题】1733. 需要教语言的最少人数
  • 多模态知识图谱
  • 基于python spark的航空数据分析系统的设计与实现
  • 【每日一问】运放单电源供电和双电源供电的区别是什么?
  • LeetCode算法领域的经典题目之“三数之和”和“滑动窗口最大值”问题
  • SpringCloudConfig:分布式配置中心
  • Go变量与类型简明指南
  • 每天学习一个统计检验方法--曼-惠特尼U检验(以噩梦障碍中的心跳诱发电位研究为例)
  • linux创建服务器
  • 线性代数基础 | 零空间 / 行空间 / 列空间 / 左零空间 / 线性无关 / 齐次 / 非齐次
  • 【StarRocks】-- 同步物化视图实战指南
  • 【C++项目】微服务即时通讯系统:服务端