在 Meson 中添加本地依赖项(openCV)的正确方法是什么?

der*_*mai 1 opencv meson-build

我在我的一个项目中使用 OpenCV。到目前为止,我在 Ubuntu 18.04 下使用版本 3,所以在我的meson.build版本中:

... dependencies: [dependency('opencv')])
Run Code Online (Sandbox Code Playgroud)

现在,我已经从源代码编译了 OpenCV 4 并安装到默认目录,/usr/local/并将我的更改meson.build为:

... dependencies: [dependency('opencv4')])
Run Code Online (Sandbox Code Playgroud)

导致未找到错误(尽管这适用于 Ubuntu 20.04 和官方存储库中的软件包(版本 4.2))。我应该如何指定图书馆的位置以便 Meson 可以找到它?

我见过 find_library,但根据文档,它已被弃用。

Elv*_*ric 5

dependency函数正在使用pkg-configorcmake如果pkg-config失败,则查找外部依赖项(已安装的库)。

安装时OpenCV4请检查是否有pkg-configopencv4。这是我的命令:

pkg-config --list-all | grep "opencv4"
Run Code Online (Sandbox Code Playgroud)

和输出:

opencv4 OpenCV - Open Source Computer Vision Library
Run Code Online (Sandbox Code Playgroud)

另外,检查PKG_CONFIG_PATH环境变量。pkg-config将使用该路径来搜索.pc文件。

编辑:使用进行-D OPENCV_GENERATE_PKGCONFIG=YES构建时请务必使用。opencvcmake