如何在QBS中为32位版本使用不同的库路径?

时间:2018-03-18 23:23:14

标签: qt qt-creator qbs

在我目前的QBS文件中:

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

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

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

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

奖金问题:我想从某些本地设置获取基本路径C:/Foo,因为在另一个开发系统中,我将库放在不同的基本路径中,而不是{ {1}}。这可能吗?

1 个答案:

答案 0 :(得分:2)

对于不同计算机上的自定义lib路径,您可以通过在必要时将参数传递给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")阅读。