0

我在运行 Windows 和 Ubuntu 的 PC 上安装了 QtCreator。Ubuntu 我用来为 Linux 和 RaspberryPi 构建一个项目。使用 Windows PC 在 x86、x86_64 和 android 中构建项目:armv7a、arm64、x86(用于模拟器)。windows还用于为stm32开发嵌入式软件。因此,我需要 6 个用于 windows 的 qbs 配置文件和 3 个用于 linux 的配​​置文件。该项目本身使用 QBS 作为构建系统。

问题是很难确定当前使用的是哪一组。下面我给出了我的 qbs 文件的开头,我在其中初始化了主要变量。

import qbs

Project {

    property var _TargetEnum: ({
                                   win_x86      : 1,
                                   win_x86_64   : 2,
                                   raspberryPi  : 3,
                                   stm32        : 4,
                                   android      : 5, 
                                   linux        : 6, 
                               })

    property var Target
    Properties {
        condition: (qbs.targetPlatform === "windows")
        Target: (qbs.architecture === "x86") ? _TargetEnum.win_x86 : _TargetEnum.win_x86_64
    }
    Properties {
        condition: (qbs.targetPlatform === "RaspberryPi")
        Target: _TargetEnum.raspberryPi
    }
    Properties {
        condition: (qbs.targetPlatform === "stm32")
        Target: _TargetEnum.stm32
    }
    Properties {
        condition: (qbs.targetPlatform === "android")
        Target: _TargetEnum.android
    }
    Properties {
        condition: (qbs.targetPlatform === "linux")
        Target: _TargetEnum.linux
    }

    property var _BuildModeEnum: ({
                                  debug     : 1,
                                  release   : 2
                              })

    property var BuildMode: qbs.buildVariant.contains("debug") ?
                                 _BuildModeEnum.debug :
                                 _BuildModeEnum.release
...
}

自动创建的 QBS 配置文件没有完全填写的字段,我必须使用 qbs-config-ui 实​​用程序手动填写这些字段。此外,此实用程序和 qtcreator 的行为在 windows 和 linux 中是不同的。

在 windows 中,会发生以下情况:打开 qtcreator 后,Tools-Kit-Qbs 中的旧设置保留上次工作会话,打开工作项目后,设置重置为默认状态。接下来,我打开 qbs-config-ui 实​​用程序并手动更改我需要的包中的 qbs.targetPlatform 和 qbs.architecture,然后保存设置。在 QtCreator 中,我打开设置窗口并看到我的更改已完成。然后我可以工作到下一个工作会议。

在 Linux 中,这种行为通常不存在,没有规律地在 QtCreator 中如何更新配置文件以及它是如何飞行的,我还没有看到。

我的问题是如何一劳永逸地正确配置 QBS 配置文件,这样我就不必重新配置它们。

4

1 回答 1

1

不要试图尝试“从外部”修改源自 Qt Creator 套件的 qbs 配置文件——正如您所发现的那样,这将无法可靠地工作。这些配置文件可以随时重新生成。相反,转到工具 -> 选项 -> 套件并通过套件对话框中的“附加 Qbs 属性”条目进行更改。这些变化将持续存在。

于 2020-02-20T18:22:38.420 回答