The following files use #ifdef __cplusplus. This should be corrected, because .cpp files (unlike .h files) can not be anything else.
The C-isms should also be corrected.
- Don't use #define in C++ files unless there's no alternative.
#define can almost always be replaced by constexpr
- Don't declare local functions
extern "C" -- they can (and should) be C++, or even converted to private method functions.
My guess is that these are cut/paste errors after refactorings.