QBS配置文件不会在任何时候保存和更新



我在运行Windows和Ubuntu的电脑上安装了QtCreator。Ubuntu我用来为Linux和RaspberryPi构建一个项目。使用Windows PC在x86、x86_64和安卓系统中构建项目: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配置文件,这样我就不必重新配置它们了。

不要试图"从外部"修改从Qt Creator工具包派生的qbs配置文件——正如您所发现的那样,这将不可靠。这些配置文件可以随时重新生成。相反,请转到"工具"->"选项"->"工具包",然后通过工具包对话框中的"附加Qbs属性"条目进行更改。这些变化将持续下去。

最新更新