Subject: | Compilation error on fedora 28 |
On a fedora 28 system with opencv-devel installed the build is not successful:
cc -c -I/usr/include/opencv -Isrc -I/usr/include/opencv -O2 -DVERSION=\"0.12\" -DXS_VERSION=\"0.12\" -fPIC "-I/opt/perl-5.28.0/lib/5.28.0/x86_64-linux/CORE" ObjectDetect.c
In file included from /usr/include/opencv2/core/types_c.h:59,
from /usr/include/opencv2/core/core_c.h:48,
from /usr/include/opencv/cv.h:63,
from ObjectDetect.xs:7:
/usr/include/opencv2/core/cvdef.h:485:1: error: unknown type name ?namespace?; did you mean ?isspace??
namespace cv {
^~~~~~~~~
isspace
/usr/include/opencv2/core/cvdef.h:485:14: error: expected ?=?, ?,?, ?;?, ?asm? or ?__attribute__? before ?{? token
namespace cv {
^
In file included from /usr/include/opencv2/core/core_c.h:48,
from /usr/include/opencv/cv.h:63,
from ObjectDetect.xs:7:
/usr/include/opencv2/highgui/highgui_c.h:139:1: error: expected ?=?, ?,?, ?;?, ?asm? or ?__attribute__? before ?:? token
CVAPI(cv::Rect)cvGetWindowImageRect(const char* name);
^~~~~
ObjectDetect.xs: In function ?XS_Image__ObjectDetect_xs_detect?:
ObjectDetect.xs:46:15: warning: implicit declaration of function ?cvLoadImage?; did you mean ?cvShowImage?? [-Wimplicit-function-declaration]
img = cvLoadImage(filename, 1);
^~~~~~~~~~~
cvShowImage
ObjectDetect.xs:46:13: warning: assignment to ?IplImage *? {aka ?struct _IplImage *?} from ?int? makes pointer from integer without a cast [-Wint-conversion]
img = cvLoadImage(filename, 1);
^
ObjectDetect.xs:56:19: error: too few arguments to function ?cvHaarDetectObjects?
objects = cvHaarDetectObjects(gray, cascade, storage,
^~~~~~~~~~~~~~~~~~~
In file included from /usr/include/opencv/cv.h:67,
from ObjectDetect.xs:7:
/usr/include/opencv2/objdetect/objdetect_c.h:136:15: note: declared here
CVAPI(CvSeq*) cvHaarDetectObjects( const CvArr* image,
^~~~~~~~~~~~~~~~~~~
make: *** [Makefile:338: ObjectDetect.o] Error 1