包含line_descriptor.hpp,但KeyLine和BinaryDescriptor仍未定义

时间:2016-03-13 14:56:49

标签: c++ opencv cmake

我一直在使用OpenCV 3.0,它与使用CMake 3.5的额外模块相结合。我使用Visual Studio 2012 32bit作为我的IDE。

但是,我似乎无法同时使用KeyLine和BinaryDescriptor。他们给我的错误是"标识符KeyLine未定义"。我已经设置了路径和库设置。

#include <opencv2/opencv.hpp>
#include <opencv2/line_descriptor.hpp>
#include <iostream>

using namespace std;
using namespace cv;

int main( void ) {
    Ptr<BinaryDescriptor> bd = BinaryDescriptor::createBinaryDescriptor();// this line gives error
    vector<KeyLine> lines; // same as this
}

我已尝试过其他标题,例如tracking.hpp。我能够定义:

Ptr<Tracker> tkr;

没有跟踪器给我错误。

任何人都知道错误是在CMake过程中引起的还是我错过了什么?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,偶然发现了你的问题。

我刚刚发现的答案是你必须添加,

using namespace line_descriptor;

在顶部以及cv名称空间。从line_descriptor.hpp源代码中获取此提示。