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

What is the proper way of adding a local dependency (openCV) in Meson?

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

... dependencies: [dependency('opencv')])

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

... dependencies: [dependency('opencv4')])

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

我看过 find_library,但根据文档已弃用。

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

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

pkg-config --list-all | grep "opencv4"

并输出:

opencv4 OpenCV - Open Source Computer Vision Library

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

编辑: 使用 cmake.

构建 opencv 时请务必使用 -D OPENCV_GENERATE_PKGCONFIG=YES