How to overload a class

asked 2016-06-20 10:27:42 -0600

jobim gravatar image

HI, I want to overload two methods (SimpleBlobDetectorImpl::detect and SimpleBlobDetectorImpl::findBlobs) and in the file features2d.hpp I have:

CV_WRAP virtual void detect( InputArray image,
                                 CV_OUT std::vector<KeyPoint>& keypoints,
                                 InputArray mask=noArray() );

and

 virtual void detect( InputArrayOfArrays images,
                         std::vector<std::vector<KeyPoint> >& keypoints,
                         InputArrayOfArrays masks=noArray() );

I add

virtual void detect(InputArray image, float& maxDistance,
        CV_OUT std::vector<KeyPoint>& keypoints,
        InputArray mask = noArray());

I get this during compilation:

Error   C2857   '#include' statement specified with the /YcE:/OpenCV/intatto/opencv-master/modules/features2d/src/precomp.hpp command-line option was not found in the source file  opencv_features2d_object    E:\OpenCV\intatto\build\modules\features2d\opencv_features2d_pch.cpp

Can someone help? Thanks.

edit retag flag offensive close merge delete

Comments

try either disabling precompiled headers or cleaning your build folder (enforcing a NEW pecompiled header)

berak gravatar imageberak ( 2016-06-20 10:33:00 -0600 )edit

Thanks, but didn't worked. I tried to inherit the class instead of overloading it, but it's always the same error.

jobim gravatar imagejobim ( 2016-06-21 09:00:08 -0600 )edit