cmake - 我如何告诉介子设置有关依赖项的位置?
问题描述
我正在尝试构建使用介子的赛璐珞。我运行了介子,但找不到合适的 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知道你的依赖来告诉介子你的依赖......
这可以通过将依赖项的路径添加到PKG_CONFIG_PATH
环境变量来完成;它由冒号分隔,就像PATH
, eg /opt/foo:/opt/extra/baz
。
LD_LIBRARY_PATH
请记住,在使用自定义目录构建和安装之后,您可能还需要添加关联路径。
推荐阅读
- angular - 迁移到 AngularFire v7 (Firebase v9) - CRUD 操作
- c - LINUX FIFO 命名管道 (IPC) 在特定文件描述符处停止写入/读取消息
- json - 为什么一个 20MB 的 JSON 数组会创建一个 2GB 的表
- javascript - 如何以正确的方式从 javascript 创建一个按钮
- bash - 如何读取 CSV 文件内容并根据 shell 脚本中的字符串值进行查找
- python - 每次循环完成后如何打印字符
- r - 使用甘特图(或类似图)在 R 中绘制具有重叠的隶属关系数据
- shell - CSV 文件重复标题行
- r - R中具有随机效应的生存曲线
- java - 运行可执行 jar 时找不到导入的模式