felixendres / rgbdslam_v2

RGB-D SLAM for ROS
GNU General Public License v3.0
947 stars 400 forks source link

ubuntu14.04+indigo compile errors #58

Open schamman opened 7 years ago

schamman commented 7 years ago

Hi, I met some problem when compile rgbdslam_v2 env: ubuntu14.04+indigo

I had change cv:: -> std::, solve some errors.

but there are new errors happen.

[ 39%] [ 40%] [ 41%] Building CXX object rgbdslam_v2-indigo/CMakeFiles/rgbdslam.dir/src/features.cpp.o Building CXX object rgbdslam_v2-indigo/CMakeFiles/rgbdslam.dir/src/aorb.cpp.o Building CXX object rgbdslam_v2-indigo/CMakeFiles/rgbdslam.dir/src/feature_adjuster.cpp.o Current branch orbbec_ros is up to date. [ 42%] Performing configure step for 'astra_openni2' no need to configure [ 43%] Performing build step for 'astra_openni2' make[3]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule. [ 44%] Performing install step for 'astra_openni2' [ 45%] Completed 'astra_openni2' /home/cwc/code/catkin_ws/src/rgbdslam_v2-indigo/src/feature_adjuster.cpp: In member function ‘virtual void DetectorAdjuster::detectImpl(const cv::Mat&, std::vector&, const cv::Mat&) const’: /home/cwc/code/catkin_ws/src/rgbdslam_v2-indigo/src/featureadjuster.cpp:91:49: error: cannot allocate an object of abstract type ‘cv::FastFeatureDetector’ detector = new FastFeatureDetector(thresh); ^ In file included from /usr/local/include/opencv2/features2d/features2d.hpp:48:0, from /home/cwc/code/catkin_ws/src/rgbdslam_v2-indigo/src/feature_adjuster.h:3, from /home/cwc/code/catkin_ws/src/rgbdslam_v2-indigo/src/feature_adjuster.cpp:43: /usr/local/include/opencv2/features2d.hpp:419:20: note: because the following virtual functions are pure within ‘cv::FastFeatureDetector’: class CV_EXPORTS_W FastFeatureDetector : public Feature2D ^ /usr/local/include/opencv2/features2d.hpp:432:26: note: virtual void cv::FastFeatureDetector::setThreshold(int) CV_WRAP virtual void setThreshold(int threshold) = 0; ^ /usr/local/include/opencv2/features2d.hpp:433:25: note: virtual int cv::FastFeatureDetector::getThreshold() const CV_WRAP virtual int getThreshold() const=0; ^ /usr/local/include/opencv2/features2d.hpp:435:26: note: virtual void cv::FastFeatureDetector::setNonmaxSuppression(bool) CV_WRAP virtual void setNonmaxSuppression(bool f) = 0; ^ /usr/local/include/opencv2/features2d.hpp:436:26: note: virtual bool cv::FastFeatureDetector::getNonmaxSuppression() const CV_WRAP virtual bool getNonmaxSuppression() const = 0; ^ /usr/local/include/opencv2/features2d.hpp:438:26: note: virtual void cv::FastFeatureDetector::setType(int) CV_WRAP virtual void setType(int type) = 0; ^ /usr/local/include/opencv2/features2d.hpp:439:25: note: virtual int cv::FastFeatureDetector::getType() const CV_WRAP virtual int getType() const = 0; ^ /home/cwc/code/catkin_ws/src/rgbdslam_v2-indigo/src/feature_adjuster.cpp:116:7: error: ‘create’ is not a member of ‘cv::FeatureDetector {aka cv::Feature2D}’ FeatureDetector::create(detectorname); ^ [ 48%] /home/cwc/code/catkin_ws/src/rgbdslam_v2-indigo/src/feature_adjuster.cpp: At global scope: /home/cwc/code/catkin_ws/src/rgbdslam_v2-indigo/src/feature_adjuster.cpp:152:5: error: ‘AdjusterAdapter’ was not declared in this scope Ptr DetectorAdjuster::clone() const ^ /home/cwc/code/catkin_ws/src/rgbdslam_v2-indigo/src/feature_adjuster.cpp:152:20: error: template argument 1 is invalid Ptr DetectorAdjuster::clone() const ^ /home/cwc/code/catkin_ws/src/rgbdslam_v2-indigo/src/feature_adjuster.cpp:152:22: error: prototype for ‘int DetectorAdjuster::clone() const’ does not match any in class ‘DetectorAdjuster’ Ptr DetectorAdjuster::clone() const ^ In file included from /home/cwc/code/catkin_ws/src/rgbdslam_v2-indigo/src/feature_adjuster.cpp:43:0: /home/cwc/code/catkin_ws/src/rgbdslam_v2-indigo/src/feature_adjuster.h:21:39: error: candidate is: virtual cv::Ptr DetectorAdjuster::clone() const virtual cv::Ptr clone() const; ^ /home/cwc/code/catkin_ws/src/rgbdslam_v2-indigo/src/feature_adjuster.cpp:162:77: error: ‘AdjusterAdapter’ was not declared in this scope VideoDynamicAdaptedFeatureDetector::VideoDynamicAdaptedFeatureDetector(Ptr a, ^ /home/cwc/code/catkin_ws/src/rgbdslam_v2-indigo/src/feature_adjuster.cpp:162:92: error: template argument 1 is invalid VideoDynamicAdaptedFeatureDetector::VideoDynamicAdaptedFeatureDetector(Ptr a, ^ /home/cwc/code/catkin_ws/src/rgbdslam_v2-indigo/src/feature_adjuster.cpp:162:2: error: prototype for ‘VideoDynamicAdaptedFeatureDetector::VideoDynamicAdaptedFeatureDetector(int, int, int, int)’ does not match any in class ‘VideoDynamicAdaptedFeatureDetector’ VideoDynamicAdaptedFeatureDetector::VideoDynamicAdaptedFeatureDetector(Ptr a, ^ In file included from /home/cwc/code/catkin_ws/src/rgbdslam_v2-indigo/src/feature_adjuster.cpp:43:0: /home/cwc/code/catkin_ws/src/rgbdslam_v2-indigo/src/feature_adjuster.h:73:5: error: candidates are: VideoDynamicAdaptedFeatureDetector::VideoDynamicAdaptedFeatureDetector(const VideoDynamicAdaptedFeatureDetector&) VideoDynamicAdaptedFeatureDetector(const VideoDynamicAdaptedFeatureDetector&); ^ /home/cwc/code/catkin_ws/src/rgbdslam_v2-indigo/src/feature_adjuster.h:63:6: error: VideoDynamicAdaptedFeatureDetector::VideoDynamicAdaptedFeatureDetector(cv::Ptr, int, int, int) VideoDynamicAdaptedFeatureDetector( cv::Ptr adjuster, int min_features=400, int max_features=500, int max_iters=5); ^ /home/cwc/code/catkin_ws/src/rgbdslam_v2-indigo/src/feature_adjuster.cpp: In member function ‘virtual bool VideoDynamicAdaptedFeatureDetector::empty() const’: /home/cwc/code/catkin_ws/src/rgbdslam_v2-indigo/src/featureadjuster.cpp:179:37: error: ‘class DetectorAdjuster’ has no member named ‘empty’ return !adjuster || adjuster_->empty(); ^ Built target astra_openni2 /home/cwc/code/catkin_ws/src/rgbdslam_v2-indigo/src/feature_adjuster.cpp: In member function ‘virtual void VideoDynamicAdaptedFeatureDetector::detectImpl(const cv::Mat&, std::vector&, const cv::Mat&) const’: /home/cwc/code/catkin_ws/src/rgbdslam_v2-indigo/src/featureadjuster.cpp:203:20: error: ‘class DetectorAdjuster’ has no member named ‘detect’ adjuster->detect(_image, keypoints,_mask);

Amir-Ramezani commented 7 years ago

Hi,

I also have the same kind of problem:

--- not a member of 'cv'

/home/amir-ai/catkin_ws/src/rgbdslam_v2-indigo/src/featureadjuster.h:77:21: error: ‘AdjusterAdapter’ is not a member of ‘cv’ mutable cv::Ptr adjuster; ^ /home/amir-ai/catkin_ws/src/rgbdslam_v2-indigo/src/feature_adjuster.h:77:21: error: ‘AdjusterAdapter’ is not a member of ‘cv’ /home/amir-ai/catkin_ws/src/rgbdslam_v2-indigo/src/featureadjuster.h:77:40: error: template argument 1 is invalid mutable cv::Ptr adjuster; ^ /home/amir-ai/catkin_ws/src/rgbdslam_v2-indigo/src/misc.cpp: In function ‘void overlay_edges(cv::Mat, cv::Mat, cv::Mat&, cv::Mat&)’: /home/amir-ai/catkin_ws/src/rgbdslam_v2-indigo/src/misc.cpp:1167:5: error: ‘cvtColor’ is not a member of ‘cv’ cv::cvtColor(visual, visual_edges, CV_RGB2GRAY); ^ /home/amir-ai/catkin_ws/src/rgbdslam_v2-indigo/src/misc.cpp:1173:3: error: ‘blur’ is not a member of ‘cv’ cv::blur( visual_edges, visual_edges, cv::Size(3,3) ); ^ /home/amir-ai/catkin_ws/src/rgbdslam_v2-indigo/src/misc.cpp:1174:3: error: ‘Canny’ is not a member of ‘cv’ cv::Canny(visual_edges, visual_edges, 25, 300); ^ /home/amir-ai/catkin_ws/src/rgbdslam_v2-indigo/src/misc.cpp:1175:3: error: ‘Canny’ is not a member of ‘cv’ cv::Canny(depth, depth_edges, 10, 300); ^ /home/amir-ai/catkin_ws/src/rgbdslam_v2-indigo/src/graph_mgr_io.cpp: In function ‘void drawFeatureConnectors(cv::Mat&, cv::Scalar, std::vector, const std::vector&, const std::vector&, int, int)’: /home/amir-ai/catkin_ws/src/rgbdslam_v2-indigo/src/graph_mgr_io.cpp:1040:13: error: ‘line’ is not a member of ‘cv’ cv::line( canvas, p, q, line_color, line_thickness, line_type ); ^ /home/amir-ai/catkin_ws/src/rgbdslam_v2-indigo/src/graph_mgr_io.cpp:1042:13: error: ‘circle’ is not a member of ‘cv’ cv::circle(canvas, p, 1, line_color, line_thickness, line_type); ^ /home/amir-ai/catkin_ws/src/rgbdslam_v2-indigo/src/graph_mgr_io.cpp:1048:13: error: ‘line’ is not a member of ‘cv’ cv::line( canvas, p, q, line_color, line_thickness, line_type ); ^ /home/amir-ai/catkin_ws/src/rgbdslam_v2-indigo/src/graph_mgr_io.cpp:1051:13: error: ‘line’ is not a member of ‘cv’ cv::line( canvas, p, q, line_color, line_thickness, line_type );

--- Just wondering how this is happening, is there an issue in the codes?

I am also trying to compile in Ubuntu 14 with ROS Indigo.

Could you solve the problem?