生成BGSLibrary失败(使用OpenCV)

fail on build BGSLibrary (using OpenCV)

本文关键字:OpenCV 使用 BGSLibrary 失败 生成      更新时间:2023-10-16

我正在尝试构建BGSLibrary,但构建失败。我不确定这是一个错误,可能是我的环境设置中的问题

我正在使用Ubuntu 14.04LTS,刚刚下载了openCV-3.1.0并成功构建了它。还使用演示示例进行了检查。当我试图构建bgslibrary时,我得到了以下错误:(它发生在cmake之后)

$ make
Scanning dependencies of target bgs
[ 1%] Building CXX object CMakeFiles/bgs.dir/home/myuser/Downloads/bgslibrary-master/package_bgs/jmo/BlobResult.cpp.o
In file included from /home/myuser/Downloads/bgslibrary-master/package_bgs/jmo/BlobResult.h:65:0,
from /home/myuser/Downloads/bgslibrary-master/package_bgs/jmo/BlobResult.cpp:56:
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:97:7: error: ‘IplImage’ does not name a type
CVAPI(IplImage) cvCreateImageHeader( CvSize size, int depth, int channels );
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/types_c.h:93:49: note: in definition of macro ‘CVAPI’
# define CVAPI(rettype) CV_EXTERN_C CV_EXPORTS rettype CV_CDECL
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:109:7: error: ‘IplImage’ does not name a type
CVAPI(IplImage) cvInitImageHeader( IplImage* image, CvSize size, int depth,
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/types_c.h:93:49: note: in definition of macro ‘CVAPI’
# define CVAPI(rettype) CV_EXTERN_C CV_EXPORTS rettype CV_CDECL
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:125:7: error: ‘IplImage’ does not name a type
CVAPI(IplImage) cvCreateImage( CvSize size, int depth, int channels );
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/types_c.h:93:49: note: in definition of macro ‘CVAPI’
# define CVAPI(rettype) CV_EXTERN_C CV_EXPORTS rettype CV_CDECL
^
In file included from /home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/utility.hpp:886:0,
from /home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core.hpp:3165,
from /home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/types_c.h:101,
from /home/myuser/Downloads/bgslibrary-master/package_bgs/jmo/BlobResult.h:65,
from /home/myuser/Downloads/bgslibrary-master/package_bgs/jmo/BlobResult.cpp:56:
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:140:36: error: variable or field ‘cvReleaseImageHeader’ declared void
CVAPI(void) cvReleaseImageHeader( IplImage* image );
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:140:36: error: ‘IplImage’ was not declared in this scope
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:140:47: error: ‘image’ was not declared in this scope
CVAPI(void) cvReleaseImageHeader( IplImage** image );
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:154:30: error: variable or field ‘cvReleaseImage’ declared void
CVAPI(void) cvReleaseImage( IplImage** image );
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:154:30: error: ‘IplImage’ was not declared in this scope
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:154:41: error: ‘image’ was not declared in this scope
CVAPI(void) cvReleaseImage( IplImage** image );
^
In file included from /home/myuser/Downloads/bgslibrary-master/package_bgs/jmo/BlobResult.h:65:0,
from /home/myuser/Downloads/bgslibrary-master/package_bgs/jmo/BlobResult.cpp:56:
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:157:7: error: ‘IplImage’ does not name a type
CVAPI(IplImage) cvCloneImage( const IplImage image );
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/types_c.h:93:49: note: in definition of macro ‘CVAPI’
# define CVAPI(rettype) CV_EXTERN_C CV_EXPORTS rettype CV_CDECL
^
In file included from /home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/utility.hpp:886:0,
from /home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core.hpp:3165,
from /home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/types_c.h:101,
from /home/myuser/Downloads/bgslibrary-master/package_bgs/jmo/BlobResult.h:65,
from /home/myuser/Downloads/bgslibrary-master/package_bgs/jmo/BlobResult.cpp:56:
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:169:29: error: variable or field ‘cvSetImageCOI’ declared void
CVAPI(void) cvSetImageCOI( IplImage* image, int coi );
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:169:29: error: ‘IplImage’ was not declared in this scope
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:169:39: error: ‘image’ was not declared in this scope
CVAPI(void) cvSetImageCOI( IplImage* image, int coi );
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:169:46: error: expected primary-expression before ‘int’
CVAPI(void) cvSetImageCOI( IplImage* image, int coi );
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:177:34: error: ‘IplImage’ does not name a type
CVAPI(int) cvGetImageCOI( const IplImage* image );
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:177:44: error: ISO C++ forbids declaration of ‘image’ with no type [-fpermissive]
CVAPI(int) cvGetImageCOI( const IplImage* image );
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:190:29: error: variable or field ‘cvSetImageROI’ declared void
CVAPI(void) cvSetImageROI( IplImage* image, CvRect rect );
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:190:29: error: ‘IplImage’ was not declared in this scope
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:190:39: error: ‘image’ was not declared in this scope
CVAPI(void) cvSetImageROI( IplImage* image, CvRect rect );
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:190:46: error: ‘CvRect’ was not declared in this scope
CVAPI(void) cvSetImageROI( IplImage* image, CvRect rect );
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:201:31: error: variable or field ‘cvResetImageROI’ declared void
CVAPI(void) cvResetImageROI( IplImage* image );
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:201:31: error: ‘IplImage’ was not declared in this scope
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:201:41: error: ‘image’ was not declared in this scope
CVAPI(void) cvResetImageROI( IplImage* image );
^
In file included from /home/myuser/Downloads/bgslibrary-master/package_bgs/jmo/BlobResult.h:65:0,
from /home/myuser/Downloads/bgslibrary-master/package_bgs/jmo/BlobResult.cpp:56:
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:208:7: error: ‘CvRect’ does not name a type
CVAPI(CvRect) cvGetImageROI( const IplImage* image );
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/types_c.h:93:49: note: in definition of macro ‘CVAPI’
# define CVAPI(rettype) CV_EXTERN_C CV_EXPORTS rettype CV_CDECL
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:218:7: error: ‘CvMat’ does not name a type
CVAPI(CvMat) cvCreateMatHeader( int rows, int cols, int type );
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/types_c.h:93:49: note: in definition of macro ‘CVAPI’
# define CVAPI(rettype) CV_EXTERN_C CV_EXPORTS rettype CV_CDECL
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:254:7: error: ‘CvMat’ does not name a type
CVAPI(CvMat) cvInitMatHeader( CvMat* mat, int rows, int cols,
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/types_c.h:93:49: note: in definition of macro ‘CVAPI’
# define CVAPI(rettype) CV_EXTERN_C CV_EXPORTS rettype CV_CDECL
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:272:7: error: ‘CvMat’ does not name a type
CVAPI(CvMat) cvCreateMat( int rows, int cols, int type );
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/types_c.h:93:49: note: in definition of macro ‘CVAPI’
# define CVAPI(rettype) CV_EXTERN_C CV_EXPORTS rettype CV_CDECL
^
In file included from /home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/utility.hpp:886:0,
from /home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core.hpp:3165,
from /home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/types_c.h:101,
from /home/myuser/Downloads/bgslibrary-master/package_bgs/jmo/BlobResult.h:65,
from /home/myuser/Downloads/bgslibrary-master/package_bgs/jmo/BlobResult.cpp:56:
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:285:28: error: variable or field ‘cvReleaseMat’ declared void
CVAPI(void) cvReleaseMat( CvMat* mat );
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:285:28: error: ‘CvMat’ was not declared in this scope
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:285:36: error: ‘mat’ was not declared in this scope
CVAPI(void) cvReleaseMat( CvMat** mat );
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:298:32: error: variable or field ‘cvDecRefData’ declared void
CV_INLINE void cvDecRefData( CvArr* arr )
^
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:298:32: error: ‘CvArr’ was not declared in this scope
/home/myuser/OpenCV/opencv-3.1.0/modules/core/include/opencv2/core/core_c.h:298:39: error: ‘arr’ was not declared in this scope
CV_INLINE void cvDecRefData( CvArr* arr )
^
/home/myuser/Downloads/bgslibrary-master/package_bgs/jmo/BlobResult.cpp:847:1: error: expected ‘}’ at end of input
}
^
make[2]: *** [CMakeFiles/bgs.dir/home/myuser/Downloads/bgslibrary-master/package_bgs/jmo/BlobResult.cpp.o] Error 1
make[1]: *** [CMakeFiles/bgs.dir/all] Error 2
make: *** [all] Error 2
myuser@mylaptop:~/Downloads/bgslibrary-master/example_linux$

干杯MD铰刀

当您使用OpenCV 3.x编译bgslibrary的master分支时,会出现此错误。请使用opencv3分行而不是

git clone https://github.com/andrewssobral/bgslibrary.git -b opencv3