Compilation issues with gnu cc 11.2.0 (not C++)

System information (version)
  • OpenCV => 4.5.4
  • Operating System / Platform => Debian Bookworm
  • Compiler => GNU 11.2.0
Detailed description

i’m attempting to modernize and build GitHub - fpeder/XKin: eXtanble hand pose and gesture recognition library for Kinect

while doing this, i encountered an issue with opencv’s build system.

core/core_c.h includes core/type_c.h which in turn includes core/cvdef.h

there is a block of definitions which assume C++11.

when i #ifdef __cplusplus this section, the build progresses further.

the issue is present in master branch and can be seen in this block: opencv/cvdef.h at 4.x · opencv/opencv · GitHub

was support for cc dropped by opencv intentionally?

Steps to reproduce

install opencv (from apt) and compile libfreenect with the opencv wrapper.

then attempt to build XKin:

$ git clone https://github.com/fpeder/XKin
$ mkdir build && cd build && cmake .. && make

yes. no more C API.

that’s been deprecated since release of v2, everyone who still used it in v3 got yelled at, and the C API was removed in v4