gps.h#L26 reads as: #extern "C"{ This should be corrected to: extern "C"{ as extern is not a c++ preprocessor directive.