0

在我的 QBS 文件中,我目前有:

cpp.libraryPaths: ["C:/Foo/x64/lib"]

它适用于 QT Creator 自动检测的 64 位 MinGW-w64 套件。

但是使用 32 位工具包构建失败,因为 32 位库位于不同的目录C:/Foo/i686/lib中。

如果选择了 32 位 MinGW-w64 套件,如何配置它以使用不同的库路径?

额外的问题:我也想C:/Foo从一些本地设置中获取基本路径,因为在另一个开发系统上,我的库位于不同的基本路径中,而不是C:/Foo. 那可能吗?

4

1 回答 1

2

对于不同机器上的自定义库路径,如有必要,您可以通过将参数传递给 qbs 来设置属性:

 property path libPath: "C:/Foo"

接着qbs build blahblah project.libPath:/path/to/lib

为了检测构建类型,您可以使用以下格式:

    Properties {
        condition: qbs.targetOS.contains("windows") && qbs.architecture === "x86"
        cpp.libraryPaths: [libPath + "/i686/lib"]
    }
    Properties {
        condition: qbs.targetOS.contains("windows") && qbs.architecture === "x86_64"
        cpp.libraryPaths: [libPath + "/x64/lib"]
    }

如果您不手动调用 qbs,则可以在项目设置中设置参数,但是如果您必须在不同的机器上更改它,我觉得这有点违背了目的。

在这方面,最好将 设置libPath为环境变量。然后只需通过Environment.getEnv("varName").

于 2018-03-19T00:45:05.840 回答