Compile C files with C++ compiler while building native extension (Issue-3743) (DEF-3084)

Yes, I used extern “C” { } for the c functions declaration. This problem is not about the name mangling, it is caused by compiling C files with C++ compiler, which is more rigorous than C compiler, and think some C warnings as errors.