zdzhaoyong/GSLAM

Error when compile the project

Closed this issue · 3 comments

Hello,
when I try to compile the project I get that error:

/home/xxx/Bureau/developpement/SLAM/GSLAM/GSLAM/plugins/cfg/../../core/GImage.h: In member function ‘GSLAM::GImage::operator cv::Mat() const’:
/home/xxx/Bureau/developpement/SLAM/GSLAM/GSLAM/plugins/cfg/../../core/GImage.h:281:37: error: no matching function for call to ‘cv::UMatData::UMatData()’
             cv::UMatData* u=new cv::UMatData;

I am on ubuntu 16.04 with Opencv 3.2.

Sorry that GSLAM is never tested with OpenCV Version 3.2. Try to modify GImage.h

#if defined(HAS_OPENCV) || defined(HAS_OPENCV3)
#include <opencv2/core/core.hpp>
#endif

to

#include <opencv2/core/core.hpp>

if it still does not work, find the header with struct UMatData manually and add it to GImage.h.

Indeed it still doesn't work.

For me the problem doesn't come from the location of the structure. The only contructor available in UMatData is 👍
UMatData(const MatAllocator* allocator);

So it tries to find a contructor like cv::UMatData::UMatData() and it is not implemented.

What is the version of Opencv you use?

We are still using OpenCV 2.4.9... Sorry for the inconvenience and we will make it works with new OpenCV versions.