假设我已经使用标题和二进制文件下载了一些库xyz,并将其放在不在标准搜索路径中的某个位置.对于每个产品,我可以添加搜索路径和库以链接到cpp.includePaths,cpp.libraryPaths,cpp.staticLibraries等.
有更好的[标准]方法吗?如果我正在构建库作为项目的一部分,似乎我可以在Exports项中定义路径,然后在每个Product中使用Depends项来自动设置路径.这似乎是一个很好的机制,我想知道是否有一种方法可以将它用于外部依赖.
qbs文档有点薄……
谢谢!
解决方法
您通常会为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" } } }