0

我有一个产品应用程序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错误?

PS它按预期工作project.someproperty:"..."

4

1 回答 1

0

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

于 2017-09-19T15:11:35.593 回答