假设我已经下载了一些带有 header 和二进制文件的库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" }
}
}
关于c++ - 如何在Qt QBS中引用外部库依赖关系?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32367400/