假设我已经使用标题和二进制文件下载了一些库xyz,并将其放在标准搜索路径中的某个位置。对于每个产品,我可以添加搜索路径和库以链接到cpp.includePaths,cpp.libraryPaths,cpp.staticLibraries等。
有更好的[标准]方法吗?如果我正在构建库作为项目的一部分,似乎我可以在Exports项中定义路径,然后使用每个Product中的Depends项自动设置路径。这似乎是一个很好的机制,我想知道是否也没有办法将它用于外部依赖。
qbs文档有点薄......
谢谢!
答案 0 :(得分:6)
您通常会为xyz创建自己的模块。您可以通过设置项目的qbsSearchPaths-property来添加QBS搜索模块和导入的位置。例如。通过将其设置为“qbs”,QBS将在项目的“qbs / modules”子目录中搜索其他模块。
你可以放置一个名为“xyz.qbs”的文件,如下所示:
import qbs
Module {
Depends { name: "cpp" }
property string xyzPath: "the/xyz/path"
cpp.includePaths: xyzPath + "/include"
cpp.libraryPath: xyzPath + "/lib"
cpp.staticLibraries: "xyz"
}
然后您只需在项目中添加Depend即可使用它:
import qbs
Project {
qbsSearchPaths: "qbs"
CppApplication {
name: "myApp"
files: "src/**"
Depends { name: "xyz" }
}
}