Qbs >= 1.8 new 属性 覆盖模块的语法失败

Qbs >= 1.8 new property override syntax fails for modules

我有一个产品为 myproduct 的应用程序,具体取决于自定义模块 mymodule

// myproduct.qbs
Product {
    name: "myproduct"
    Depends { name: "mymodule" }
}

// mymodule.qbs
Module {
   name: "mymodule"
   property string value: ""
   validate: { if (value == "") throw "mymodule.value is not set!" }
}

对于 Qbs 1.7 及更低版本,我可以使用以下语法在外部设置此 属性:

qbs ... mymodule.value:"somevalue"

并且它按预期工作。对于 qbs 1.8 和更新版本,此操作失败并显示错误:

Property override key 'mymodule.value' not understood.
Please use one of the following:
    projects.<project-name>.<property-name>:value
    products.<product-name>.<property-name>:value
    modules.<module-name>.<property-name>:value
    products.<product-name>.<module-name>.<property-name>:value

但这些都不起作用(属性 值保持不变):

qbs ... modules.mymodule.value:"somevalue"
qbs ... products.myproduct.mymodule.value:"somevalue"

我错过了什么?或者这是一个 qbs 错误?

P.S。它按预期工作 project.someproperty:"..."

你的例子对我来说效果很好。我建议您在 bugreports.qt.io 提交错误报告并附上 完整 示例项目。然后我们可以弄清楚那里的问题是什么。