运行

摘要

qbs run [options] [config:configuration-name] [property:value] ... [ -- <arguments>]

描述

使用指定的<arguments>运行指定产品的可执行文件。如果项目只有一个产品,则可以省略--products选项。

如果产品未最新,则会构建它,除非指定了--no-build选项。更多信息,请参见构建

有关运行应用程序的更多信息,请参阅运行应用程序

选项

--all-products

处理所有产品,即使它们的builtByDefault属性为false

--build-directory|-d <directory>

指定一个用于存储构建工件的目标目录<directory>

默认值是当前目录,除非已设置preferences.defaultBuildDirectory

相对路径将在当前目录中进行解释。

您可以使用以下特殊值作为占位符

  • @project将展开为不包括扩展名.qbs的项目文件名称。
  • @path将展开为包含项目文件的目录名称。

--changed-files <file>[,<file>...]

假设只有指定的<file>文件,以及这些文件已更改。

--check-outputs

强制执行转换器输出生成物检查。

验证项目中规则声明并由项目创建的实际输出生成物。

--check-timestamps

强制执行时间戳检查。

从文件系统检索时间戳,而不是使用存储在构建图中的文件时间戳。

--clean-install-root

在安装之前删除安装基本目录。

--command-echo-mode <mode>

确定在执行命令时要显示哪种类型的输出生成物。

<mode>的可能值是

  • 静默
  • 摘要(默认值)
  • 命令行
  • 带有环境的命令行

--dry-run|-n

执行干燥运行。不会执行任何命令,也不会对构建图进行任何永久更改。

[--file|-f <文件>]

使用<文件>作为项目文件。如果<文件>是一个目录,并且它包含一个扩展名为.qbs的单个文件,该文件将使用。

如果整个选项都没有给出,其行为与-f <工作目录>相同。

--force-probe-execution

强制重新执行所有探针项的配置脚本,而不是使用缓存的数据。

--install-root <目录>

安装到指定的<目录>。如果目录不存在,它会创建。

默认值是<构建目录>/install-root。

使用特殊值@sysroot将安装到sysroot。也就是说,qbs.sysroot属性的值。

--jobs|-j <数量>

使用<数量>个并发构建工作,其中<数量>必须是一个大于零的整数。

默认值是逻辑核心的数量。

--keep-going|-k

当出现错误时,尽可能继续执行。

--less-verbose|-q

通过降低日志级别来减少输出,该选项可以多次使用。过多的出现没有效果。

如果命令行上存在此选项以外的--log-level,则其值作为降低的基数。

--log-level <级别>

使用指定的日志级别。

<级别>的可能值

  • 错误
  • 警告
  • info(默认值)
  • 调试
  • 跟踪

--log-time

记录涉及此命令的操作所需的时间。

此选项在日志级别debug及以上隐式存在。

此选项与--show-progress互斥。

--more-verbose|-v

通过增加日志级别来增加输出,该选项可以多次使用。过多的出现没有效果。

如果命令行上存在此选项以外的--log-level,则其值作为增加的基数。

--no-build

在安装或运行之前不重新构建项目。

--products|-p <名称>[,<名称>...]

仅考虑<名称>指定的products及其依赖项。

--settings-dir <目录>

从指定的<目录>读取所有设置(例如类似profile信息)。

默认值是系统特定的。例如

  • Linux: $HOME/.config/QtProject/qbs
  • Windows: %APPDATA%\QtProject\qbs
  • macOS: $HOME/Library/Preferences/qbs

--setup-run-env-config

以逗号分隔的字符串列表。它们将出现在所有 setupRunEnvironment 脚本的 config 参数中。

--wait-lock

无限期等待其他进程释放构建图锁。

此选项通常由 生成器 使用,这些生成器可能在同一项目上同时重新调用多个 Qbs 进程。

参数

config:配置名称

指定要使用的构建配置。

Qbs 可以一次性为单个或多个配置构建项目,每个配置都有不同的参数集。config 参数具有特殊作用:每次出现都会开始一个新的配置实例,直到下一个 config 出现的所有后续参数都分配给该实例。在第一次出现 config 之前的参数分配给所有构建配置。在产品和模块内部,可以通过 qbs.configurationName 获取当前活动构建配置。

以下示例中,配置 clang 应用于所有配置,而 cpp.optimization 对于 debugrelease 不同

profile:clang config:debug cpp.optimization:none config:release cpp.optimization:small

config 的值决定了构建文件夹的名称,并影响 qbs.buildVariant 属性的默认值。Qbs 知道 config"debug""release",但通常可以选择任何名称。在为特殊目的创建配置时,请遵循通常在编程语言中使用的合法名称规则

  • 第一个字符必须是字母(a-z)、下划线(_)或美元符号($)。
  • 后续字符可以是字母、数字、下划线或美元符号。

property:value

在项目文件或配置文件中设置的属性值可以在命令行中覆盖。语法是

<prefix>.<property-name>:<property-value>

有关更多信息,请参阅 从命令行覆盖属性值

参数

-- <arguments>

传递给要运行的程序的命令行参数。

示例

运行 Qt Creator 应用程序

qbs run --products qtcreator

©2023 The Qt Company Ltd。包含在本处的文档贡献是各自所有者的版权。本处提供的文档是根据由自由软件基金会发布的 GNU 自由文档许可证第 1.3 版 的条款许可的。Qt 及其相应的徽标是芬兰和/或全球其他国家的 The Qt Company Ltd 的商标。所有其他商标均为其各自所有者的财产。