C++ Opencv额外模块未定义符号错误

C++ Opencv额外模块未定义符号错误,c++,xcode,opencv,opencv3.0,C++,Xcode,Opencv,Opencv3.0,我已经下载了opencv 3.0.0和opencv contrib。我需要使用opencv contrib的xFeature2D额外模块。我能够获得opencv框架及其libs。但无法获取xFeature2D库。第一, ~/Desktop/opencv-3.0.0/ (building below commands in this dir) 1-我正在运行cmake命令 $cmake -DOPENCV_EXTRA_MODULES_PATH=/Users/dicle/Desktop/opencv

我已经下载了opencv 3.0.0和opencv contrib。我需要使用opencv contrib的xFeature2D额外模块。我能够获得opencv框架及其libs。但无法获取xFeature2D库。第一,

~/Desktop/opencv-3.0.0/ (building below commands in this dir)
1-我正在运行cmake命令

$cmake -DOPENCV_EXTRA_MODULES_PATH=/Users/dicle/Desktop/opencv-3.0.0/xfeatures2d /Users/dicle/Desktop/opencv-3.0.0/

$make
在输入这2个命令后,我只得到opencv 3个基本模块,而不是额外的模块。。而且只有基本库

我计划使用这个额外的模块,顺便说一句。。1-导入opencv3框架,不带额外模块,然后创建额外模块文件夹,将xfeatures2d模块放入其中,并在我的代码中调用此文件夹(#include),给出额外模块标题的路径,但我有此错误。我想原因可能与额外模块的lib有关。如果你能帮助我,我会很感激的。多谢各位

Undefined symbols for architecture x86_64:
"cv::xfeatures2d::SIFT::create(int, int, double, double, double)", referenced from:
  AnchorBasedValidation::validate(Anchor, cv::Mat, cv::Rect_<int>, cv::Point_<float>) in IDSmart(AnchorBasedValidation.o)
"cv::xfeatures2d::SURF::create(double, int, int, bool, bool)", referenced from:
  KeypointsExtractor::ComputeDescriptor(cv::Mat const&, std::__1::vector<cv::KeyPoint, std::__1::allocator<cv::KeyPoint> >, std::__1::vector<cv::KeyPoint, std::__1::allocator<cv::KeyPoint> >, cv::Mat&, cv::Mat&) in IDSmart(KeypointsExtractor.o)
  KeypointsExtractor::ExtractKeypoint(cv::Mat const&, std::__1::vector<cv::KeyPoint, std::__1::allocator<cv::KeyPoint> >&, std::__1::vector<cv::KeyPoint, std::__1::allocator<cv::KeyPoint> >&, std::__1::vector<cv::Rect_<int>, std::__1::allocator<cv::Rect_<int> > > const&) in IDSmart(KeypointsExtractor.o)
  KeypointsExtractor::ExtractClusterHistogram(cv::Mat const&, cv::Mat, std::__1::vector<cv::KeyPoint, std::__1::allocator<cv::KeyPoint> >) in IDSmart(KeypointsExtractor.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
架构x86_64的未定义符号: “cv::xfeatures2d::SIFT::create(int,int,double,double,double)”,引用自: 在IDSmart(AnchorBasedValidation.o)中,AnchorBasedValidation::validate(锚点、cv::Mat、cv::Rect_、cv::Point_) “cv::xfeatures2d::SURF::create(double,int,int,bool,bool)”,引用自: IDSmart(KeypointsExtractor.o)中的KeypointsExtractor::ComputedDescriptor(cv::Mat const&,std::_1::vector,std:_1::vector,cv::Mat&,cv::Mat&) IDSmart(KeypointsExtractor.o)中的KeypointsExtractor::ExtractKeypoint(cv::Mat const&,std::_1::vector&,std:_1::vector&,std:_1::vector const&) IDSmart(KeypointsExtractor.o)中的KeypointsExtractor::ExtractClusterHistogram(cv::Mat const&,cv::Mat,std::_1::vector) ld:找不到架构x86_64的符号 叮当声:错误:链接器命令失败,退出代码为1(使用-v查看调用)
我不确定,但不应该是cmake-DOPENCV\u EXTRA\u MODULES\u PATH=/Users/dicle/Desktop/opencv\u contrib/MODULES我不确定,但不应该是cmake-DOPENCV\u EXTRA\u MODULES\u PATH=/Users/dicle/Desktop/opencv\u contrib/MODULES吗