Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Unable to make OpenCV 3.0.0 beta with opencv_contrib

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