Looking at the ArduCam SDK (here), there are C++ language features that will not be compilable in a C compiler, such as
extern "C"{
that are not wrapped around with __cplusplus
macro like so:
#ifdef __cplusplus
extern "C" {
#endif
Or functions that are passed by reference such as:
unsigned int ArduCam_autoopen( ArduCamHandle &useHandle, ArduCamCfg *useCfg );
unsigned int ArduCam_readImage( ArduCamHandle useHandle, ArduCamOutData* &pstFrameData );
unsigned int ArduCam_open( ArduCamHandle &useHandle, ArduCamCfg* useCfg, Uint32 usbIdx );
unsigned int ArduCam_getSingleFrame(ArduCamHandle useHandle, ArduCamOutData* &pstFrameData,int time_out = 1500);
where the function parameters are passed by reference &
that is not supported in C. If there is another C compatible header I don’t know about please tell me. Else please fix, or do not claim the SDK is C compatible.
Thanks
Chris