2

我有一个目录,其中包含要与我的应用程序(qml 插件)一起部署的子目录中的文件。问题是:如果我尝试安装目录:

Group {
    name: "somegroup"
    files: ["mysrc/dir"]
    qbs.install: true
    qbs.installDir: "mybuild"
}

我得到一个“不递归地将目录 'mysrc/dir' 复制到目标目录 'mybuild' 中。而是安装单个文件工件。” 错误。

如果我尝试安装文件:

Group {
    name: "somegroup"
    files: ["mysrc/dir/**/*"]
    qbs.install: true
    qbs.installDir: "mybuild"
}

然后所有这些文件都进入同一目录,忽略层次结构(并且无法安装,因为其中一些共享名称)。

具有多个组的解决方案也过于冗长。

有没有办法递归地安装带有文件的目录,保留层次结构?

4

2 回答 2

3

查看qbs.installSourceBase属性;这正是它的用途。

于 2017-04-06T15:00:32.927 回答
1

示例用法:

Group {
    name: "qt_qml_plugins"
    prefix: Qt.core.pluginPath + "/../qml/"
    files: [
        "QtQml/**",
        "QtQuick/**",
        "QtQuick.2/**",
        "QtPositioning/**",
        "QtLocation/**"
    ]
    excludeFiles: ["**/*d.dll"]
    qbs.install: true
    qbs.installDir: "../../qml"
    qbs.installSourceBase: prefix
}
于 2017-04-07T03:15:28.573 回答