You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CMake工具中--build与-B选项的区别是什么?

CMake中--build与-B选项的区别

先看官方帮助文档的定义:

-B = 显式指定构建目录。
--build

= 构建由CMake生成的项目二进制树。

核心区别分点说

  • -B是配置阶段的参数
    它的作用是指定构建目录的路径,让CMake在这个目录下生成构建系统需要的文件(比如Makefile、Ninja脚本、VS工程文件这些)。简单说就是帮你完成项目的「初始化配置」,把源码转换成构建工具能读懂的结构。
    举个实际用法:cmake -B ./my_build,这条命令会在当前目录下创建my_build文件夹,然后在里面生成所有构建需要的配置文件。

  • --build是构建阶段的参数
    它的作用是直接调用底层构建工具(比如make、ninja)去编译项目,前提是目标目录已经通过CMake完成了配置(也就是里面已经有生成好的构建系统文件)。相当于替你进入构建目录,执行编译命令。
    举个实际用法:cmake --build ./my_build,这条命令会去./my_build目录下执行编译,最终生成可执行文件或者库文件。

一句话总结两者关系

-B负责搭好构建的「架子」,--build负责用这个「架子」把代码编译成产物。你可以先跑cmake -B ./build完成配置,再跑cmake --build ./build开始编译;要是直接跑--build,目标目录必须是已经配置好的,不然会报错。

内容的提问来源于stack exchange,提问作者KostasA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 01:07:11