【问题标题】:When defining external dependencies in meson, can you add search paths?在介子中定义外部依赖时,可以添加搜索路径吗?
【发布时间】:2016-01-05 16:40:16
【问题描述】:

在介子中定义目标时,可以使用以下语法声明对外部项目的依赖:

zdep = dependency('zlib', version : '>=1.2.8')
exe = executable('zlibprog', 'prog.c', dependencies : zdep)

这会检查标准包含位置,该位置在 Linux 上运行良好,但在其他平台上运行不佳。

有没有办法为介子添加额外的包含和库路径,以便在声明依赖项时检查?

【问题讨论】:

    标签: build build-system meson-build


    【解决方案1】:

    如文档所述:dependency()如果可能,使用 pkg-config 查找外部依赖项 [...],否则使用 library-specific fallback detection logic

    所以,如果你想设置PKG_CONFIG_PATH,你可以照常设置:

    $ export PKG_CONFIG_PATH=/wherever/your/installed/dir/is/
    $ meson ....
    

    或者,您可以使用后端特定变量,即。 BOOST_ROOT。 Check the doc 了解更多信息。

    如果您要查找不使用pkg-config 的其他库,可以添加dirs 关键字参数以指向您的库所在的目录。

    【讨论】:

    • 我是唯一看到介子缺陷的人吗?如果我的依赖项是我的存储库的一部分,例如特定版本的 gtest,我无法在脚本中暗示这一点。这使得 repo 在 Windows 下无法使用。我知道我可以在子项目中定义自己的依赖项……但这使整个事情变得毫无意义。奇怪。
    • @MichałFita 你到底有什么问题? declare_dependency() 有一个参数 version 如果你需要。
    • 我可以重新声明依赖项以指向我的 repo 中的代码(字面上复制到)吗?
    • 我只是不明白你为什么需要“重新”声明。想问一个问题?
    猜你喜欢
    • 2018-06-03
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2023-02-22
    • 1970-01-01
    • 1970-01-01
    • 2018-09-10
    • 2022-08-12
    相关资源
    最近更新 更多