0

我正在尝试使用我已经构建并安装 gflags 然后 glog 和 ceres-solver 的 sfm 模块构建 opencv。然而,制作日志说:模块 opencv_sfm 已禁用,因为未找到以下依赖项: Glog/Gflags。尽管在前面的行中它说它找到了这两个目录。

我还构建并安装了 VTK,但由于某种原因,即使我手动选择构建目录也找不到它。

以下是我的 CMake 日志的相关部分:

未找到 VTK。请将 CMake 中的 -DVTK_DIR 设置为 VTK 构建目录,或使用 VTKConfig.cmake 文件设置 VTK 安装子目录

OpenCV Python:在开发期间附加到 PYTHONPATH:C:/DEV/opencv-4.2.0/builds/python_loader

咖啡:没有

原型:否

格洛格:是的

freetype2: 没有

哈夫布兹:没有

模块 opencv_ovis 已禁用,因为未找到 OGRE3D

没有偏好使用导出的 gflags CMake 配置集,也没有提供包含/库目录的提示。默认首选已安装/导出的 gflags CMake 配置(如果可用)。

找到已安装的 gflags 版本:C:/Program Files (x86)/gflags/lib/cmake/gflags

检测到的 gflags 版本:2.2.2

检查 SFM 部门... FALSE

模块 opencv_sfm 已禁用,因为未找到以下依赖项:Glog/Gflags

4

1 回答 1

0

我设法让 SFM 模块最终编译。我不是 100% 解决了它,但这是我所做的:我删除了 gflags、glog 和 ceres-solver 的所有版本。我下载了一个稍旧版本的 ceres-solver (1.14) 和 VTK (8.2.0)。较早的版本可能与使用 opencv4.2 和 python 3.7 有关。

我将 gflags 和 glog 放在带有 eigen 的 ceres-solver 文件夹中。然后使用 CMake 和 Visual Studio 2019,我在调试和发布中构建并安装了 gflags。glog(链接到 gflags)仅在发布中。最后,我构建并安装了链接到 glog、gflags 和 eigen 的 ceres-solver。按照本教程:http ://sylvain.duchene.im/how-to-build-ceres-under-windows/

然后,当我使用 CMake 和 contribs 库构建 openCV4.2 时,我发现了 sfm 模块和 VTK。

于 2020-06-17T07:35:37.430 回答