在我目前的QBS文件中:
cpp.libraryPaths: ["C:/Foo/x64/lib"]
适用于QT Creator自动检测到的64位MinGW-w64套件。
但使用32位工具包构建失败,因为32位库位于不同的目录C:/Foo/i686/lib
中。
如果选择32位MinGW-w64套件,如何配置它以便使用不同的库路径?
奖金问题:我想从某些本地设置获取基本路径C:/Foo
,因为在另一个开发系统中,我将库放在不同的基本路径中,而不是{ {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")
阅读。