Символ OpenCV не был объявлен в этой области

0

Я пытаюсь скомпилировать исходный код от другого человека. Его OpenCV в C++.

Я создал новую 64-битную виртуальную машину Ubuntu и установил эти пакеты:

sudo apt-get install -y subversion build-essential git cmake libopencv-legacy-dev

git clone https://github.com/Itseez/opencv.git

cd ~/opencv_tmp/opencv

mkdir release

cd release

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

make -j8

sudo make install

Затем я попытался скомпилировать

cd project

mkdir build

cd build

cmake ..

make

И тогда это вернуло эту ошибку:

12%] Building CXX object CMakeFiles/Project.dir/main.o
In file included from xx,
                 from xx:
/usr/include/opencv2/legacy/legacy.hpp:1750:53: error: ‘cv::EM has not been declared
     CvEMParams( int nclusters, int cov_mat_type=cv::EM::COV_MAT_DIAGONAL,
                                                     ^
/usr/include/opencv2/legacy/legacy.hpp:1751:36: error: ‘cv::EM has not been declared
                 int start_step=cv::EM::START_AUTO_STEP,
                                    ^
/usr/include/opencv2/legacy/legacy.hpp:1767:1: error: expected class-name before ‘{ token
 {
 ^

(...)


          ^
                                                                   ^

                                                                   ^
/usr/include/opencv2/legacy/legacy.hpp:2600:73: error: expected ‘, or ‘... before ‘< token
     void InitializeObjectDescriptors(IplImage* train_image, const vector<KeyPoint>& features,
                                                                         ^
/usr/include/opencv2/legacy/legacy.hpp:2609:5: error: ‘vector does not name a type
     vector<KeyPoint> m_train_features; // train features
     ^
/usr/include/opencv2/legacy/legacy.hpp:2572:63: error: ‘string was not declared in this scope
                            const string &train_path = string (), const string &images_list = string (),
                                                               ^
/usr/include/opencv2/legacy/legacy.hpp:2572:63: note: suggested alternative:
In file included from /usr/include/c++/4.8/string:39:0,
                 from /usr/local/include/opencv2/core/cvstd.hpp:58,
                 from /usr/local/include/opencv2/core/base.hpp:55,
                 from /usr/local/include/opencv2/core.hpp:52,
                 from /usr/local/include/opencv2/highgui.hpp:46,
                 from /usr/local/include/opencv2/highgui/highgui.hpp:48,
                 from xx,
                 from xx:
/usr/include/c++/4.8/bits/stringfwd.h:62:33: note:   ‘std::string
   typedef basic_string<char>    string;
                                 ^
In file included from xx,
                 from xx:
/usr/include/opencv2/legacy/legacy.hpp:2572:102: error: ‘string was not declared in this scope
                            const string &train_path = string (), const string &images_list = string (),
                                                                                                      ^
/usr/include/opencv2/legacy/legacy.hpp:2572:102: note: suggested alternative:
In file included from /usr/include/c++/4.8/string:39:0,
                 from /usr/local/include/opencv2/core/cvstd.hpp:58,
                 from /usr/local/include/opencv2/core/base.hpp:55,
                 from /usr/local/include/opencv2/core.hpp:52,
                 from /usr/local/include/opencv2/highgui.hpp:46,
                 from /usr/local/include/opencv2/highgui/highgui.hpp:48,
                 from xx,
                 from xx:
/usr/include/c++/4.8/bits/stringfwd.h:62:33: note:   ‘std::string
   typedef basic_string<char>    string;
                                 ^
In file included from xx,
                 from xx:
/usr/include/opencv2/legacy/legacy.hpp: In member function ‘void cv::OneWayDescriptorObject::SetLabeledFeatures(int):
/usr/include/opencv2/legacy/legacy.hpp:2584:64: error: ‘m_train_features was not declared in this scope
     void SetLabeledFeatures(const vector<KeyPoint>& features) {m_train_features = features;};
                                                                ^
/usr/include/opencv2/legacy/legacy.hpp:2584:83: error: ‘features was not declared in this scope
     void SetLabeledFeatures(const vector<KeyPoint>& features) {m_train_features = features;};
                                                                                   ^
/usr/include/opencv2/legacy/legacy.hpp: At global scope:
/usr/include/opencv2/legacy/legacy.hpp:2622:1: error: expected class-name before ‘{ token
 {
 ^
/usr/include/opencv2/legacy/legacy.hpp:2636:16: error: ‘string has not been declared
                string pcaFilename = string(),
                ^
/usr/include/opencv2/legacy/legacy.hpp:2637:16: error: ‘string has not been declared
                string trainPath = string(), string trainImagesList = string(),
                ^
/usr/include/opencv2/legacy/legacy.hpp:2637:45: error: ‘string has not been declared
                string trainPath = string(), string trainImagesList = string(),
                                             ^
/usr/include/opencv2/legacy/legacy.hpp:2643:9: error: ‘string does not name a type
         string pcaFilename;
         ^
/usr/include/opencv2/legacy/legacy.hpp:2644:9: error: ‘string does not name a type
         string trainPath;
         ^
/usr/include/opencv2/legacy/legacy.hpp:2645:9: error: ‘string does not name a type
         string trainImagesList;
         ^
/usr/include/opencv2/legacy/legacy.hpp:2667:17: error: ‘GenericDescriptorMatcher was not declared in this scope
     virtual Ptr<GenericDescriptorMatcher> clone( bool emptyTrainData=false ) const;
                 ^
/usr/include/opencv2/legacy/legacy.hpp:2667:41: error: template argument 1 is invalid
     virtual Ptr<GenericDescriptorMatcher> clone( bool emptyTrainData=false ) const;
                                         ^
/usr/include/opencv2/legacy/legacy.hpp:2676:55: error: ‘vector has not been declared
     virtual void knnMatchImpl( const Mat& queryImage, vector<KeyPoint>& queryKeypoints,
                                                       ^
/usr/include/opencv2/legacy/legacy.hpp:2676:61: error: expected ‘, or ‘... before ‘< token
     virtual void knnMatchImpl( const Mat& queryImage, vector<KeyPoint>& queryKeypoints,
                                                             ^
/usr/include/opencv2/legacy/legacy.hpp:2679:58: error: ‘vector has not been declared
     virtual void radiusMatchImpl( const Mat& queryImage, vector<KeyPoint>& queryKeypoints,
                                                          ^
/usr/include/opencv2/legacy/legacy.hpp:2679:64: error: expected ‘, or ‘... before ‘< token
     virtual void radiusMatchImpl( const Mat& queryImage, vector<KeyPoint>& queryKeypoints,
                                                                ^
/usr/include/opencv2/legacy/legacy.hpp:2636:44: error: ‘string was not declared in this scope
                string pcaFilename = string(),
                                            ^
/usr/include/opencv2/legacy/legacy.hpp:2636:44: note: suggested alternative:
In file included from /usr/include/c++/4.8/string:39:0,
                 from /usr/local/include/opencv2/core/cvstd.hpp:58,
                 from /usr/local/include/opencv2/core/base.hpp:55,
                 from /usr/local/include/opencv2/core.hpp:52,
                 from /usr/local/include/opencv2/highgui.hpp:46,
                 from /usr/local/include/opencv2/highgui/highgui.hpp:48,
                 from xx,
                 from xx:
/usr/include/c++/4.8/bits/stringfwd.h:62:33: note:   ‘std::string
   typedef basic_string<char>    string;
                                 ^
In file included from xx,
                 from xx:
/usr/include/opencv2/legacy/legacy.hpp:2637:42: error: ‘string was not declared in this scope
                string trainPath = string(), string trainImagesList = string(),
                                          ^
/usr/include/opencv2/legacy/legacy.hpp:2637:42: note: suggested alternative:
In file included from /usr/include/c++/4.8/string:39:0,
                 from /usr/local/include/opencv2/core/cvstd.hpp:58,
                 from /usr/local/include/opencv2/core/base.hpp:55,
                 from /usr/local/include/opencv2/core.hpp:52,
                 from /usr/local/include/opencv2/highgui.hpp:46,
                 from /usr/local/include/opencv2/highgui/highgui.hpp:48,
                 from xx,
                 from xx:
/usr/include/c++/4.8/bits/stringfwd.h:62:33: note:   ‘std::string
   typedef basic_string<char>    string;
                                 ^
In file included from xx,
                 from xx:
/usr/include/opencv2/legacy/legacy.hpp:2637:77: error: ‘string was not declared in this scope
                string trainPath = string(), string trainImagesList = string(),
                                                                             ^
/usr/include/opencv2/legacy/legacy.hpp:2637:77: note: suggested alternative:
In file included from /usr/include/c++/4.8/string:39:0,
                 from /usr/local/include/opencv2/core/cvstd.hpp:58,
                 from /usr/local/include/opencv2/core/base.hpp:55,
                 from /usr/local/include/opencv2/core.hpp:52,
                 from /usr/local/include/opencv2/highgui.hpp:46,
                 from /usr/local/include/opencv2/highgui/highgui.hpp:48,
                 from xxxx,
                 from xxxx:
/usr/include/c++/4.8/bits/stringfwd.h:62:33: note:   ‘std::string
   typedef basic_string<char>    string;
                                 ^
In file included from xxx,
                 from xxxx:
/usr/include/opencv2/legacy/legacy.hpp:2650:58: error: call to ‘cv::OneWayDescriptorMatcher::Params::Params(int, cv::Size, int, int, int, float, float, float) uses the default argument for parameter 3, which is not yet defined
     OneWayDescriptorMatcher( const Params& params=Params() );
                                                          ^
/usr/include/opencv2/legacy/legacy.hpp:2650:58: error: call to ‘cv::OneWayDescriptorMatcher::Params::Params(int, cv::Size, int, int, int, float, float, float) uses the default argument for parameter 4, which is not yet defined
/usr/include/opencv2/legacy/legacy.hpp:2650:58: error: call to ‘cv::OneWayDescriptorMatcher::Params::Params(int, cv::Size, int, int, int, float, float, float) uses the default argument for parameter 5, which is not yet defined
/usr/include/opencv2/legacy/legacy.hpp:2695:1: error: expected class-name before ‘{ token
 {
 ^
/usr/include/opencv2/legacy/legacy.hpp:2709:23: error: ‘string does not name a type
         Params( const string& filename );
                       ^
/usr/include/opencv2/legacy/legacy.hpp:2720:9: error: ‘string does not name a type
         string filename;
         ^
/usr/include/opencv2/legacy/legacy.hpp:2736:17: error: ‘GenericDescriptorMatcher was not declared in this scope
     virtual Ptr<GenericDescriptorMatcher> clone( bool emptyTrainData=false ) const;
                 ^
/usr/include/opencv2/legacy/legacy.hpp:2736:41: error: template argument 1 is invalid
     virtual Ptr<GenericDescriptorMatcher> clone( bool emptyTrainData=false ) const;
                                         ^
/usr/include/opencv2/legacy/legacy.hpp:2739:55: error: ‘vector has not been declared
     virtual void knnMatchImpl( const Mat& queryImage, vector<KeyPoint>& queryKeypoints,
                                                       ^
/usr/include/opencv2/legacy/legacy.hpp:2739:61: error: expected ‘, or ‘... before ‘< token
     virtual void knnMatchImpl( const Mat& queryImage, vector<KeyPoint>& queryKeypoints,
                                                             ^
/usr/include/opencv2/legacy/legacy.hpp:2742:58: error: ‘vector has not been declared
     virtual void radiusMatchImpl( const Mat& queryImage, vector<KeyPoint>& queryKeypoints,
                                                          ^
/usr/include/opencv2/legacy/legacy.hpp:2742:64: error: expected ‘, or ‘... before ‘< token
     virtual void radiusMatchImpl( const Mat& queryImage, vector<KeyPoint>& queryKeypoints,
                                                                ^
/usr/include/opencv2/legacy/legacy.hpp:2748:70: error: ‘vector has not been declared
                                  float& bestProb, int& bestMatchIdx, vector<float>& signature );
                                                                      ^
/usr/include/opencv2/legacy/legacy.hpp:2748:76: error: expected ‘, or ‘... before ‘< token
                                  float& bestProb, int& bestMatchIdx, vector<float>& signature );
                                                                            ^
/usr/include/opencv2/legacy/legacy.hpp:2762:40: error: ‘string does not name a type
     CalonderDescriptorExtractor( const string& classifierFile );
                                        ^
/usr/include/opencv2/legacy/legacy.hpp:2773:49: error: ‘vector has not been declared
     virtual void computeImpl( const Mat& image, vector<KeyPoint>& keypoints, Mat& descriptors ) const;
                                                 ^
/usr/include/opencv2/legacy/legacy.hpp:2773:55: error: expected ‘, or ‘... before ‘< token
     virtual void computeImpl( const Mat& image, vector<KeyPoint>& keypoints, Mat& descriptors ) const;
                                                       ^
/usr/include/opencv2/legacy/legacy.hpp:2780:1: error: prototype for ‘cv::CalonderDescriptorExtractor<T>::CalonderDescriptorExtractor(const string&) does not match any in class ‘cv::CalonderDescriptorExtractor<T>
 CalonderDescriptorExtractor<T>::CalonderDescriptorExtractor(const std::string& classifier_file)
 ^
/usr/include/opencv2/legacy/legacy.hpp:2762:5: error: candidate is: cv::CalonderDescriptorExtractor<T>::CalonderDescriptorExtractor(const int&)
     CalonderDescriptorExtractor( const string& classifierFile );
     ^
/usr/include/opencv2/legacy/legacy.hpp:2787:50: error: ‘vector has not been declared
                                                  vector<KeyPoint>& keypoints,
                                                  ^
/usr/include/opencv2/legacy/legacy.hpp:2787:56: error: expected ‘, or ‘... before ‘< token
                                                  vector<KeyPoint>& keypoints,
                                                        ^
/usr/include/opencv2/legacy/legacy.hpp: In member function ‘virtual void cv::CalonderDescriptorExtractor<T>::computeImpl(const cv::Mat&, int) const:
/usr/include/opencv2/legacy/legacy.hpp:2791:39: error: ‘keypoints was not declared in this scope
     KeyPointsFilter::runByImageBorder(keypoints, image.size(), BORDER_SIZE);
                                       ^
/usr/include/opencv2/legacy/legacy.hpp:2794:5: error: ‘descriptors was not declared in this scope
     descriptors.create((int)keypoints.size(), classifier_.classes(), cv::DataType<T>::type);
     ^
/usr/include/opencv2/legacy/legacy.hpp:2802:58: error: expected primary-expression before ‘> token
         classifier_.getSignature( &ipl, descriptors.ptr<T>((int)i));
                                                          ^
/usr/include/opencv2/legacy/legacy.hpp: In member function ‘virtual bool cv::CalonderDescriptorExtractor<T>::empty() const:
/usr/include/opencv2/legacy/legacy.hpp:2817:24: error: ‘const class cv::RTreeClassifier has no member named ‘trees_
     return classifier_.trees_.empty();
                        ^
/usr/include/opencv2/legacy/legacy.hpp: At global scope:
/usr/include/opencv2/legacy/legacy.hpp:2841:32: error: ‘vector does not name a type
     PlanarObjectDetector(const vector<Mat>& pyr, int _npoints=300,
                                ^
/usr/include/opencv2/legacy/legacy.hpp:2841:38: error: expected ‘, or ‘... before ‘< token
     PlanarObjectDetector(const vector<Mat>& pyr, int _npoints=300,
                                      ^
/usr/include/opencv2/legacy/legacy.hpp:2849:30: error: ‘vector does not name a type
     virtual void train(const vector<Mat>& pyr, int _npoints=300,
                              ^
/usr/include/opencv2/legacy/legacy.hpp:2849:36: error: expected ‘, or ‘... before ‘< token
     virtual void train(const vector<Mat>& pyr, int _npoints=300,
                                    ^
/usr/include/opencv2/legacy/legacy.hpp:2856:30: error: ‘vector does not name a type
     virtual void train(const vector<Mat>& pyr, const vector<KeyPoint>& keypoints,
                              ^
/usr/include/opencv2/legacy/legacy.hpp:2856:36: error: expected ‘, or ‘... before ‘< token
     virtual void train(const vector<Mat>& pyr, const vector<KeyPoint>& keypoints,
                                    ^
/usr/include/opencv2/legacy/legacy.hpp:2856:18: error: ‘virtual void cv::PlanarObjectDetector::train(int) cannot be overloaded
     virtual void train(const vector<Mat>& pyr, const vector<KeyPoint>& keypoints,
                  ^
/usr/include/opencv2/legacy/legacy.hpp:2849:18: error: with ‘virtual void cv::PlanarObjectDetector::train(int)
     virtual void train(const vector<Mat>& pyr, int _npoints=300,
                  ^
/usr/include/opencv2/legacy/legacy.hpp:2864:5: error: ‘vector does not name a type
     vector<KeyPoint> getModelPoints() const;
     ^
/usr/include/opencv2/legacy/legacy.hpp:2871:61: error: ‘vector has not been declared
     bool operator()(const Mat& image, CV_OUT Mat& H, CV_OUT vector<Point2f>& corners) const;
                                                             ^
/usr/include/opencv2/legacy/legacy.hpp:2871:67: error: expected ‘, or ‘... before ‘< token
     bool operator()(const Mat& image, CV_OUT Mat& H, CV_OUT vector<Point2f>& corners) const;
                                                                   ^
/usr/include/opencv2/legacy/legacy.hpp:2872:27: error: ‘vector does not name a type
     bool operator()(const vector<Mat>& pyr, const vector<KeyPoint>& keypoints,
                           ^
/usr/include/opencv2/legacy/legacy.hpp:2872:33: error: expected ‘, or ‘... before ‘< token
     bool operator()(const vector<Mat>& pyr, const vector<KeyPoint>& keypoints,
                                 ^
/usr/include/opencv2/legacy/legacy.hpp:2879:5: error: ‘vector does not name a type
     vector<KeyPoint> modelPoints;
     ^
/usr/include/opencv2/legacy/legacy.hpp:2927:38: error: variable or field ‘cvInitSubdivDelaunay2D declared void
 CVAPI(void)  cvInitSubdivDelaunay2D( CvSubdiv2D* subdiv, CvRect rect );
                                      ^
/usr/include/opencv2/legacy/legacy.hpp:2927:38: error: ‘CvSubdiv2D was not declared in this scope
/usr/include/opencv2/legacy/legacy.hpp:2927:50: error: ‘subdiv was not declared in this scope
 CVAPI(void)  cvInitSubdivDelaunay2D( CvSubdiv2D* subdiv, CvRect rect );
                                                  ^
/usr/include/opencv2/legacy/legacy.hpp:2927:65: error: expected primary-expression before ‘rect
 CVAPI(void)  cvInitSubdivDelaunay2D( CvSubdiv2D* subdiv, CvRect rect );
                                                                 ^
In file included from /usr/local/include/opencv2/core/core_c.h:48:0,
                 from /usr/local/include/opencv2/core/utility.hpp:765,
                 from /usr/local/include/opencv2/core.hpp:2960,
                 from /usr/local/include/opencv2/highgui.hpp:46,
                 from /usr/local/include/opencv2/highgui/highgui.hpp:48,
                 from /home/xxxxxxxx,
                 from /homxxxxxxxxxxxxrc/main.cpp:2:
/usr/include/opencv2/legacy/legacy.hpp:2930:1: error: ‘CvSubdiv2D does not name a type
 CVAPI(CvSubdiv2D*)  cvCreateSubdiv2D( int subdiv_type, int header_size,
 ^
In file included from xx,
                 from xxxx:
/usr/include/opencv2/legacy/legacy.hpp:2937:12: error: ‘CvSubdiv2D does not name a type
 CV_INLINE  CvSubdiv2D* cvCreateSubdivDelaunay2D( CvRect rect, CvMemStorage* storage )
            ^
In file included from /usr/local/include/opencv2/core/core_c.h:48:0,
                 from /usr/local/include/opencv2/core/utility.hpp:765,
                 from /usr/local/include/opencv2/core.hpp:2960,
                 from /usr/local/include/opencv2/highgui.hpp:46,
                 from /usr/local/include/opencv2/highgui/highgui.hpp:48,
                 from xx,
                 from xx:
/usr/include/opencv2/legacy/legacy.hpp:2948:1: error: ‘CvSubdiv2DPoint does not name a type
 CVAPI(CvSubdiv2DPoint*)  cvSubdivDelaunay2DInsert( CvSubdiv2D* subdiv, CvPoint2D32f pt);
 ^
/usr/include/opencv2/legacy/legacy.hpp:2953:1: error: ‘CvSubdiv2DPointLocation does not name a type
 CVAPI(CvSubdiv2DPointLocation)  cvSubdiv2DLocate(
 ^
In file included from xxxxxx,
                 from xxxxxxx:
/usr/include/opencv2/legacy/legacy.hpp:2959:37: error: variable or field ‘cvCalcSubdivVoronoi2D declared void
 CVAPI(void)  cvCalcSubdivVoronoi2D( CvSubdiv2D* subdiv );
                                     ^
/usr/include/opencv2/legacy/legacy.hpp:2959:37: error: ‘CvSubdiv2D was not declared in this scope
/usr/include/opencv2/legacy/legacy.hpp:2959:49: error: ‘subdiv was not declared in this scope
 CVAPI(void)  cvCalcSubdivVoronoi2D( CvSubdiv2D* subdiv );
                                                 ^
/usr/include/opencv2/legacy/legacy.hpp:2963:38: error: variable or field ‘cvClearSubdivVoronoi2D declared void
 CVAPI(void)  cvClearSubdivVoronoi2D( CvSubdiv2D* subdiv );
                                      ^
/usr/include/opencv2/legacy/legacy.hpp:2963:38: error: ‘CvSubdiv2D was not declared in this scope
/usr/include/opencv2/legacy/legacy.hpp:2963:50: error: ‘subdiv was not declared in this scope
 CVAPI(void)  cvClearSubdivVoronoi2D( CvSubdiv2D* subdiv );
                                                  ^
In file included from /usr/local/include/opencv2/core/core_c.h:48:0,
                 from /usr/local/include/opencv2/core/utility.hpp:765,
                 from /usr/local/include/opencv2/core.hpp:2960,
                 from /usr/local/include/opencv2/highgui.hpp:46,
                 from /usr/local/include/opencv2/highgui/highgui.hpp:48,
                 from xxxxxxxxxxx,
                 from xxxxxxxxxxx:
/usr/include/opencv2/legacy/legacy.hpp:2967:1: error: ‘CvSubdiv2DPoint does not name a type
 CVAPI(CvSubdiv2DPoint*) cvFindNearestPoint2D( CvSubdiv2D* subdiv, CvPoint2D32f pt );
 ^
In file included from xxxxxxxxxxxxxxx
/usr/include/opencv2/legacy/legacy.hpp:2972:12: error: ‘CvSubdiv2DEdge does not name a type
 CV_INLINE  CvSubdiv2DEdge  cvSubdiv2DNextEdge( CvSubdiv2DEdge edge )
            ^
/usr/include/opencv2/legacy/legacy.hpp:2978:12: error: ‘CvSubdiv2DEdge does not name a type
 CV_INLINE  CvSubdiv2DEdge  cvSubdiv2DRotateEdge( CvSubdiv2DEdge edge, int rotate )
            ^
/usr/include/opencv2/legacy/legacy.hpp:2983:12: error: ‘CvSubdiv2DEdge does not name a type
 CV_INLINE  CvSubdiv2DEdge  cvSubdiv2DSymEdge( CvSubdiv2DEdge edge )
            ^
/usr/include/opencv2/legacy/legacy.hpp:2988:12: error: ‘CvSubdiv2DEdge does not name a type
 CV_INLINE  CvSubdiv2DEdge  cvSubdiv2DGetEdge( CvSubdiv2DEdge edge, CvNextEdgeType type )
            ^
/usr/include/opencv2/legacy/legacy.hpp:2996:12: error: ‘CvSubdiv2DPoint does not name a type
 CV_INLINE  CvSubdiv2DPoint*  cvSubdiv2DEdgeOrg( CvSubdiv2DEdge edge )
            ^
/usr/include/opencv2/legacy/legacy.hpp:3003:12: error: ‘CvSubdiv2DPoint does not name a type
 CV_INLINE  CvSubdiv2DPoint*  cvSubdiv2DEdgeDst( CvSubdiv2DEdge edge )
            ^
/usr/include/opencv2/legacy/legacy.hpp:3014:29: error: variable or field ‘icvDrawMosaic declared void
 CVAPI(void)  icvDrawMosaic( CvSubdiv2D* subdiv, IplImage* src, IplImage* dst );
                             ^
/usr/include/opencv2/legacy/legacy.hpp:3014:29: error: ‘CvSubdiv2D was not declared in this scope
/usr/include/opencv2/legacy/legacy.hpp:3014:41: error: ‘subdiv was not declared in this scope
 CVAPI(void)  icvDrawMosaic( CvSubdiv2D* subdiv, IplImage* src, IplImage* dst );
                                         ^
/usr/include/opencv2/legacy/legacy.hpp:3014:57: error: expected primary-expression before ‘* token
 CVAPI(void)  icvDrawMosaic( CvSubdiv2D* subdiv, IplImage* src, IplImage* dst );
                                                         ^
/usr/include/opencv2/legacy/legacy.hpp:3014:59: error: ‘src was not declared in this scope
 CVAPI(void)  icvDrawMosaic( CvSubdiv2D* subdiv, IplImage* src, IplImage* dst );
                                                           ^
/usr/include/opencv2/legacy/legacy.hpp:3014:72: error: expected primary-expression before ‘* token
 CVAPI(void)  icvDrawMosaic( CvSubdiv2D* subdiv, IplImage* src, IplImage* dst );
                                                                        ^
/usr/include/opencv2/legacy/legacy.hpp:3014:74: error: ‘dst was not declared in this scope
 CVAPI(void)  icvDrawMosaic( CvSubdiv2D* subdiv, IplImage* src, IplImage* dst );
                                                                          ^
/usr/include/opencv2/legacy/legacy.hpp:3018:32: error: ‘CvSubdiv2D was not declared in this scope
 CVAPI(int)   icvSubdiv2DCheck( CvSubdiv2D* subdiv );
                                ^
/usr/include/opencv2/legacy/legacy.hpp:3018:44: error: ‘subdiv was not declared in this scope
 CVAPI(int)   icvSubdiv2DCheck( CvSubdiv2D* subdiv );
                                            ^
make[2]: *** [CMakeFiles/Project.dir/main.o] Error 1
make[1]: *** [CMakeFiles/Project.dir/all] Error 2
make: *** [all] Error 2
  • 0
    Сложно сказать. Похоже, отсутствует заголовок / включить. Что вывод CMake сообщает вам о пакетах, которые не найдены?
  • 0
    Можете ли вы опубликовать содержимое CMakeList.txt вашего проекта?
Показать ещё 4 комментария
Теги:
opencv

1 ответ

1

Если вы можете переключиться на OpenCv v 3.3.0, класс EM просто именуется как cv::ml::EM.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню