I'm trying to build OpenCV 3.0.0 beta with opencv_contrib and CUDA, but I run into the following errors during make
/home/kal/opencv-3.0.0-beta/samples/gpu/performance/tests.cpp: In member function ‘virtual void SURF_test::run()’:
/home/kal/opencv-3.0.0-beta/samples/gpu/performance/tests.cpp:287:23: error: cannot declare variable ‘surf’ to be of abstract type ‘cv::xfeatures2d::SURF’
In file included from /home/kal/opencv-3.0.0-beta/samples/gpu/performance/tests.cpp:21:0:
/home/kal/opencv_contrib/modules/xfeatures2d/include/opencv2/xfeatures2d/nonfree.hpp:74:20: note: because the following virtual functions are pure within ‘cv::xfeatures2d::SURF’:
/home/kal/opencv_contrib/modules/xfeatures2d/include/opencv2/xfeatures2d/nonfree.hpp:81:26: note: virtual void cv::xfeatures2d::SURF::setHessianThreshold(double)
/home/kal/opencv_contrib/modules/xfeatures2d/include/opencv2/xfeatures2d/nonfree.hpp:82:28: note: virtual double cv::xfeatures2d::SURF::getHessianThreshold() const
/home/kal/opencv_contrib/modules/xfeatures2d/include/opencv2/xfeatures2d/nonfree.hpp:84:26: note: virtual void cv::xfeatures2d::SURF::setNOctaves(int)
/home/kal/opencv_contrib/modules/xfeatures2d/include/opencv2/xfeatures2d/nonfree.hpp:85:25: note: virtual int cv::xfeatures2d::SURF::getNOctaves() const
/home/kal/opencv_contrib/modules/xfeatures2d/include/opencv2/xfeatures2d/nonfree.hpp:87:26: note: virtual void cv::xfeatures2d::SURF::setNOctaveLayers(int)
/home/kal/opencv_contrib/modules/xfeatures2d/include/opencv2/xfeatures2d/nonfree.hpp:88:25: note: virtual int cv::xfeatures2d::SURF::getNOctaveLayers() const
/home/kal/opencv_contrib/modules/xfeatures2d/include/opencv2/xfeatures2d/nonfree.hpp:90:26: note: virtual void cv::xfeatures2d::SURF::setExtended(bool)
/home/kal/opencv_contrib/modules/xfeatures2d/include/opencv2/xfeatures2d/nonfree.hpp:91:26: note: virtual bool cv::xfeatures2d::SURF::getExtended() const
/home/kal/opencv_contrib/modules/xfeatures2d/include/opencv2/xfeatures2d/nonfree.hpp:93:26: note: virtual void cv::xfeatures2d::SURF::setUpright(bool)
/home/kal/opencv_contrib/modules/xfeatures2d/include/opencv2/xfeatures2d/nonfree.hpp:94:26: note: virtual bool cv::xfeatures2d::SURF::getUpright() const
/home/kal/opencv-3.0.0-beta/samples/gpu/performance/tests.cpp:291:44: error: no match for call to ‘(cv::xfeatures2d::SURF) (cv::Mat&, cv::Mat, std::vector<cv::KeyPoint>&, cv::Mat&)’
/home/kal/opencv-3.0.0-beta/samples/gpu/performance/tests.cpp:294:44: error: no match for call to ‘(cv::xfeatures2d::SURF) (cv::Mat&, cv::Mat, std::vector<cv::KeyPoint>&, cv::Mat&)’
/home/kal/opencv-3.0.0-beta/samples/gpu/performance/tests.cpp: In member function ‘virtual void ORB_test::run()’:
/home/kal/opencv-3.0.0-beta/samples/gpu/performance/tests.cpp:342:17: error: no matching function for call to ‘cv::ORB::ORB(int)’
/home/kal/opencv-3.0.0-beta/samples/gpu/performance/tests.cpp:342:17: note: candidates are:
In file included from /home/kal/opencv-3.0.0-beta/modules/calib3d/include/opencv2/calib3d.hpp:48:0,
from /home/kal/opencv-3.0.0-beta/samples/gpu/performance/tests.cpp:4:
/home/kal/opencv-3.0.0-beta/modules/features2d/include/opencv2/features2d.hpp:163:20: note: cv::ORB::ORB()
/home/kal/opencv-3.0.0-beta/modules/features2d/include/opencv2/features2d.hpp:163:20: note: candidate expects 0 arguments, 1 provided
/home/kal/opencv-3.0.0-beta/modules/features2d/include/opencv2/features2d.hpp:163:20: note: cv::ORB::ORB(const cv::ORB&)
/home/kal/opencv-3.0.0-beta/modules/features2d/include/opencv2/features2d.hpp:163:20: note: no known conversion for argument 1 from ‘int’ to ‘const cv::ORB&’
/home/kal/opencv-3.0.0-beta/samples/gpu/performance/tests.cpp:342:9: error: cannot declare variable ‘orb’ to be of abstract type ‘cv::ORB’
In file included from /home/kal/opencv-3.0.0-beta/modules/calib3d/include/opencv2/calib3d.hpp:48:0,
from /home/kal/opencv-3.0.0-beta/samples/gpu/performance/tests.cpp:4:
/home/kal/opencv-3.0.0-beta/modules/features2d/include/opencv2/features2d.hpp:163:20: note: because the following virtual functions are pure within ‘cv::ORB’:
/home/kal/opencv-3.0.0-beta/modules/features2d/include/opencv2/features2d.hpp:171:26: note: virtual void cv::ORB::setMaxFeatures(int)
/home/kal/opencv-3.0.0-beta/modules/features2d/include/opencv2/features2d.hpp:172:25: note: virtual int cv::ORB::getMaxFeatures() const
/home/kal/opencv-3.0.0-beta/modules/features2d/include/opencv2/features2d.hpp:174:26: note: virtual void cv::ORB::setScaleFactor(double)
/home/kal/opencv-3.0.0-beta/modules/features2d/include/opencv2/features2d.hpp:175:28: note: virtual double cv::ORB::getScaleFactor() const
/home/kal/opencv-3.0.0-beta/modules/features2d/include/opencv2/features2d.hpp:177:26: note: virtual void cv::ORB::setNLevels(int)
/home/kal/opencv-3.0.0-beta/modules/features2d/include/opencv2/features2d.hpp:178:25: note: virtual int cv::ORB::getNLevels() const
/home/kal/opencv-3.0.0-beta/modules/features2d/include/opencv2/features2d.hpp:180:26: note: virtual void cv::ORB::setEdgeThreshold(int)
/home/kal/opencv-3.0.0-beta/modules/features2d/include/opencv2/features2d.hpp:181:25: note: virtual int cv::ORB::getEdgeThreshold() const
/home/kal/opencv-3.0.0-beta/modules/features2d/include/opencv2/features2d.hpp:183:26: note: virtual void cv::ORB::setFirstLevel(int)
/home/kal/opencv-3.0.0-beta/modules/features2d/include/opencv2/features2d.hpp:184:25: note: virtual int cv::ORB::getFirstLevel() const
/home/kal/opencv-3.0.0-beta/modules/features2d/include/opencv2/features2d.hpp:186:26: note: virtual void cv::ORB::setWTA_K(int)
/home/kal/opencv-3.0.0-beta/modules/features2d/include/opencv2/features2d.hpp:187:25: note: virtual int cv::ORB::getWTA_K() const
/home/kal/opencv-3.0.0-beta/modules/features2d/include/opencv2/features2d.hpp:189:26: note: virtual void cv::ORB::setScoreType(int)
/home/kal/opencv-3.0.0-beta/modules/features2d/include/opencv2/features2d.hpp:190:25: note: virtual int cv::ORB::getScoreType() const
/home/kal/opencv-3.0.0-beta/modules/features2d/include/opencv2/features2d.hpp:192:26: note: virtual void cv::ORB::setPatchSize(int)
/home/kal/opencv-3.0.0-beta/modules/features2d/include/opencv2/features2d.hpp:193:25: note: virtual int cv::ORB::getPatchSize() const
/home/kal/opencv-3.0.0-beta/modules/features2d/include/opencv2/features2d.hpp:195:26: note: virtual void cv::ORB::setFastThreshold(int)
/home/kal/opencv-3.0.0-beta/modules/features2d/include/opencv2/features2d.hpp:196:25: note: virtual int cv::ORB::getFastThreshold() const