opencv_catkin make error SURF_CUDA
Hello, there. This the first time I ask for help on ANSWER ROS. THANK YOU. I have some problems with an open source github project. The address of the project is link text I encountered some errors when I implemented the command "catkin build depth_segmentation". It returns the feedbacks like this:
Profile: default Extending: [explicit] /opt/ros/melodic
Workspace: /home/timothy/catkin_ws
Build Space: [exists] /home/timothy/catkin_ws/build Devel Space: [exists] /home/timothy/catkin_ws/devel Install Space: [unused] /home/timothy/catkin_ws/install Log Space: [exists] /home/timothy/catkin_ws/logs Source Space: [exists] /home/timothy/catkin_ws/src
DESTDIR: [unused] None
Devel Space Layout: merged
Install Space Layout: None
Additional CMake Args: -DCMAKE_CXX_STANDARD=14 -DCMAKE_BUILD_TYPE=Release Additional Make Args: None Additional catkin Make Args: None Internal Make Job Server: True
Cache Job Environments: False
Whitelisted Packages: None
Blacklisted Packages: None
Workspace configuration appears valid.
[build] Found '14' packages in 0.0 seconds.
[build] Package table is up to date.
Starting >>> catkin_simple
Finished <<< catkin_simple [ 0.1 seconds ]
Starting >>> eigen_catkin
Starting >>> gflags_catkin
Starting >>> opencv3_catkin
Starting >>> pcl_catkin
Finished <<< pcl_catkin [ 0.2 seconds ]
Finished <<< eigen_catkin [ 0.1 seconds ]
Finished <<< gflags_catkin [ 0.1 seconds ]
Starting >>> glog_catkin
Finished <<< glog_catkin [ 0.1 seconds ]
Errors << opencv3_catkin:make /home/timothy/catkin_ws/logs/opencv3_catkin/build.make.019.log
make[3]: warning: -jN forced in submake: disabling jobserver mode.
In file included from /home/timothy/catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/precomp.hpp:46:0,
from /home/timothy/catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/src/ellipticKeyPoint.cpp:5:
/home/timothy/catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp:88:18: error: variable ‘cv::cuda::CV_EXPORTS cv::cuda::SURF_CUDA’ has initializer but incomplete type
class CV_EXPORTS SURF_CUDA
^~~~~~~~~
/home/timothy/catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp:90:1: error: expected primary-expression before ‘public’
public:
^~~~~~
/home/timothy/catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp:90:1: error: expected ‘}’ before ‘public’
/home/timothy/catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp:90:1: error: expected ‘,’ or ‘;’ before ‘public’
/home/timothy/catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp:104:16: error: expected constructor, destructor, or type conversion before ‘;’ token
SURF_CUDA();
^
/home/timothy/catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp:107:104: error: ISO C++ forbids declaration of ‘SURF_CUDA’ with no type [-fpermissive]
int _nOctaveLayers=2, bool _extended=false, float _keypointsRatio=0.01f, bool _upright = false);
^
/home/timothy/catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp:106:5: error: ‘explicit’ outside class declaration
explicit SURF_CUDA(double _hessianThreshold, int _nOctaves=4,
^~~~~~~~
/home/timothy/catkin_ws/build/opencv3_catkin/opencv3_contrib_src/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp:110:26: error: non-member function ‘int cv::cuda::descriptorSize()’ cannot have cv-qualifier
int descriptorSize() const;