如何在qt qbs中引用外部库依赖?

时间:2015-09-03 05:11:44

标签: c++ qt qbs

假设我已经使用标题和二进制文件下载了一些库xyz,并将其放在标准搜索路径中的某个位置。对于每个产品,我可以添加搜索路径和库以链接到cpp.includePaths,cpp.libraryPaths,cpp.staticLibraries等。

有更好的[标准]方法吗?如果我正在构建库作为项目的一部分,似乎我可以在Exports项中定义路径,然后使用每个Product中的Depends项自动设置路径。这似乎是一个很好的机制,我想知道是否也没有办法将它用于外部依赖。

qbs文档有点薄......

谢谢!

1 个答案:

答案 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" }
    }
}