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 -fwrapv -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -DVERSION=\"0.11\" -DXS_VERSION=\"0.11\" -fPIC "-I/opt/perl-5.28.0/lib/5.28.0/x86_64-linux/CORE" OpenCV.
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 OpenCV.xs:9:
/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 OpenCV.xs:9:
/usr/include/opencv2/highgui/highgui_c.h:139:1: error: expected ?=?, ?,?, ?;?, ?asm? or ?__attribute__? before ?:? token
CVAPI(cv::Rect)cvGetWindowImageRect(const char* name);
^~~~~
OpenCV.xs: In function ?get_ptr?:
OpenCV.xs:18:7: warning: assignment to ?void *? from ?IV? {aka ?long int?} makes pointer from integer without a cast [-Wint-conversion]
ptr = SvIV(*hv_fetch( (HV*)SvRV(self) , param , strlen(param), 0));
^
OpenCV.xs: In function ?XS_Image__Resize__OpenCV__init?:
OpenCV.xs:49:10: warning: implicit declaration of function ?cvLoadImage?; did you mean ?cvShowImage?? [-Wimplicit-function-declaration]
img = cvLoadImage(filename, CV_LOAD_IMAGE_UNCHANGED);
^~~~~~~~~~~
cvShowImage
OpenCV.xs:49:32: error: ?CV_LOAD_IMAGE_UNCHANGED? undeclared (first use in this function)
img = cvLoadImage(filename, CV_LOAD_IMAGE_UNCHANGED);
^~~~~~~~~~~~~~~~~~~~~~~
OpenCV.xs:49:32: note: each undeclared identifier is reported only once for each function it appears in
OpenCV.xs: In function ?XS_Image__Resize__OpenCV_load?:
OpenCV.xs:75:31: error: ?CV_LOAD_IMAGE_UNCHANGED? undeclared (first use in this function)
img = cvLoadImage(filename, CV_LOAD_IMAGE_UNCHANGED);
^~~~~~~~~~~~~~~~~~~~~~~
OpenCV.xs: In function ?XS_Image__Resize__OpenCV_save?:
OpenCV.xs:195:11: error: ?CV_IMWRITE_JPEG_QUALITY? undeclared (first use in this function); did you mean ?CV_WRITE_SEQ_ELEM??
p[0] = CV_IMWRITE_JPEG_QUALITY;
^~~~~~~~~~~~~~~~~~~~~~~
CV_WRITE_SEQ_ELEM
OpenCV.xs:201:11: error: ?CV_IMWRITE_PNG_COMPRESSION? undeclared (first use in this function)
p[0] = CV_IMWRITE_PNG_COMPRESSION;
^~~~~~~~~~~~~~~~~~~~~~~~~~
OpenCV.xs:206:3: warning: implicit declaration of function ?cvSaveImage?; did you mean ?cvShowImage?? [-Wimplicit-function-declaration]
cvSaveImage(filename, img, p);
^~~~~~~~~~~
cvShowImage
make: *** [Makefile:338: OpenCV.o] Error 1
...