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/catkinws/build Devel Space: [exists] /home/timothy/catkinws/devel Install Space: [unused] /home/timothy/catkinws/install Log Space: [exists] /home/timothy/catkinws/logs Source Space: [exists] /home/timothy/catkin_ws/src
DESTDIR: [unused] None
Devel Space Layout: merged
Install Space Layout: None
Additional CMake Args: -DCMAKECXXSTANDARD=14 -DCMAKEBUILDTYPE=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 >>> catkinsimple
Finished <<< catkinsimple [ 0.1 seconds ]
Starting >>> eigencatkin
Starting >>> gflagscatkin
Starting >>> opencv3catkin
Starting >>> pclcatkin
Finished <<< pclcatkin [ 0.2 seconds ]
Finished <<< eigencatkin [ 0.1 seconds ]
Finished <<< gflagscatkin [ 0.1 seconds ]
Starting >>> glogcatkin
Finished <<< glog_catkin [ 0.1 seconds ]
Errors << opencv3catkin:make /home/timothy/catkinws/logs/opencv3catkin/build.make.019.log
make[3]: warning: -jN forced in submake: disabling jobserver mode.
In file included from /home/timothy/catkinws/build/opencv3catkin/opencv3contribsrc/modules/xfeatures2d/src/precomp.hpp:46:0,
from /home/timothy/catkinws/build/opencv3catkin/opencv3contribsrc/modules/xfeatures2d/src/ellipticKeyPoint.cpp:5:
/home/timothy/catkinws/build/opencv3catkin/opencv3contribsrc/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp:88:18: error: variable ‘cv::cuda::CVEXPORTS cv::cuda::SURFCUDA’ has initializer but incomplete type
class CVEXPORTS SURFCUDA
^~~~~~~~~
/home/timothy/catkinws/build/opencv3catkin/opencv3contribsrc/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp:90:1: error: expected primary-expression before ‘public’
public:
^~~~~~
/home/timothy/catkinws/build/opencv3catkin/opencv3contribsrc/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp:90:1: error: expected ‘}’ before ‘public’
/home/timothy/catkinws/build/opencv3catkin/opencv3contribsrc/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp:90:1: error: expected ‘,’ or ‘;’ before ‘public’
/home/timothy/catkinws/build/opencv3catkin/opencv3contribsrc/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp:104:16: error: expected constructor, destructor, or type conversion before ‘;’ token
SURFCUDA();
^
/home/timothy/catkinws/build/opencv3catkin/opencv3contribsrc/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp:107:104: error: ISO C++ forbids declaration of ‘SURFCUDA’ with no type [-fpermissive]
int _nOctaveLayers=2, bool _extended=false, float _keypointsRatio=0.01f, bool _upright = false);
^
/home/timothy/catkinws/build/opencv3catkin/opencv3contribsrc/modules/xfeatures2d/include/opencv2/xfeatures2d/cuda.hpp:106:5: error: ‘explicit’ outside class declaration
explicit SURFCUDA(double hessianThreshold, int _nOctaves=4,
^~~~~~~~
/home/timothy/catkinws/build/opencv3catkin/opencv3contrib_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;
Asked by wolfcan on 2021-01-10 09:15:10 UTC
Comments