我如何告诉介子设置有关依赖项的位置?

问题描述

我正在尝试构建使用介子的 celluloid。我跑了 meson,但是找不到合适的 mpv 版本:

Determining dependency 'mpv' with pkg-config executable '/usr/bin/pkg-config'
Called `/usr/bin/pkg-config --modversion mpv` -> 1

Found CMake: /usr/bin/cmake (3.13.4)

Determining dependency 'mpv' with CMake executable '/usr/bin/cmake'
Try CMake generator: auto
Called `/usr/bin/cmake --trace-expand -DNAME=mpv .` in /tmp/celluloid-0.20/build/meson-private/cmake_mpv -> 0
Dependency mpv found: NO (tried pkgconfig and cmake)

src/meson.build:125:0: ERROR:  Dependency "mpv" not found,tried pkgconfig and cmake

所以我下载并构建了最新的 mpv 版本 (0.33.0),在 /opt/mpv 构建并安装了它。

现在 - 我如何告诉介子从这条新路径中获取 mpv

注意:介子文件的相关片段似乎是:

executable('celluloid',sources,dependencies: [
    libgtk,libgio,meson.get_compiler('c').find_library('m',required: false),dependency('mpv',version: '>= 1.107'),dependency('epoxy')
  ],link_with: extra_libs,include_directories: includes,c_args: cflags,install: true
)

解决方法

您可以通过让 pkgconfig 了解您的依赖项来告诉 meson 您的依赖项...

这可以通过将您的依赖项的路径添加到 PKG_CONFIG_PATH 环境变量来完成;它由冒号分隔,就像 PATH 一样,例如/opt/foo:/opt/extra/baz

请记住,在使用自定义目录构建和安装后,您可能还需要添加到 LD_LIBRARY_PATH 的关联路径。