c++ - OpenCV: ‘AlgorithmInfo’ 在构建 opencv_contrib 时未命名类型

标签 c++ opencv building opencv3.0

尝试使用 contrib 模块构建 opencv 时出现以下错误

/opencv/opencv_contrib/modules/tracking/include/opencv2/tracking/tracker.hpp:577:11: error: ‘AlgorithmInfo’ does not name a type

代码是最新的,刚刚拉取的。 在将前向声明 class AlgorithmInfo; 添加到文件 tracker.hpp 后,该特定错误消失了,但我在其他文件中收到其他“AlgorithmInfo 未命名类型”错误。可能 AlgorithmInfo 没有以某种方式包含在内。有任何想法吗?

调查:

  1. grep AlgorithmInfo 后发现代码库中没有AlgorithmInfo 的定义。

  2. 与之前版本的代码相比,我发现 AlgorithmInfo 定义在 opencv2/core.hpp 的第 3006 行。但在最新的代码中,它根本不存在那里!

最佳答案

这不是一个永久的解决方案,但我遇到了同样的问题,这就是我如何能够继续该项目的工作,直到有人找到更好的方法。

我查看了 Utkarsh 发布的链接 How do I use SIFT in OpenCV 3.0 with c++?

总而言之,我必须获取 opencv_contrib 存储库并重新制作 opencv。

在这样做之后我仍然得到同样的错误并且最终意识到 你必须包括

#include "opencv2/xfeatures2d.hpp"
#include "opencv2/features2d/features2d.hpp"

但除非您也删除/注释掉,否则您仍然会得到相同的结果

//#include "opencv2/nonfree/features2d.hpp"
//#include "opencv2/nonfree/nonfree.hpp"

无论如何,这就是我暂时解决错误的方法。

关于c++ - OpenCV: ‘AlgorithmInfo’ 在构建 opencv_contrib 时未命名类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29750303/

相关文章:

c++ - 调试器不进入 MFC 源代码

c++ - OpenCL:动态内存分配,使用空闲工作项好还是同时写入好

c++ - 图像矩阵转字符串 OpenCV C++

image-processing - 图像低频抑制后如何得到清晰的图像?

WebRTC 不是为 Windows 构建的

构建 SharpKeeper(用于 .NET 的 ZooKeeper 客户端)

c++ - 调用从不兼容类型转换而来的零数据结构的成员函数 - 未定义?

c++ - 如何调用用于重载运算符 “<<”的好友函数?

c++ - 求复数的指数

iphone - 如何 build 建筑物(查看: top down) that looks like a "3d" building with cocos2d and cocos3d?(适用于iphone)