我正在尝试构建使用介子的赛璐珞。我运行了介子,但未能找到合适的 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
。
PS - 只是为了让我们清楚......我不喜欢这种状况。我希望 Meson 让我覆盖它从 pkg-config 中学到的内容,并在未能找到依赖项时在错误消息中告诉我这种可能性。