У меня есть внешний файл .cpp. Это смесь C-совместимого кода и немного С++. Код С++ - это всего лишь оболочка C, чтобы использовать возможности С++.
Он использует макросы #ifdef __cplusplus
для защиты кода на С++, что отлично. К сожалению, если я пытаюсь скомпилировать gcc, он обрабатывает его как С++ из-за окончания файла. Я знаю различия между gcc и g++ - я не хочу компилировать как С++.
Есть ли способ заставить gcc обрабатывать этот файл как файл C? Я попытался использовать, например, --std=c99
, но это правильно порождает ошибку, что C99 недействительна для С++.
Переименование файла в .c работает, но я хотел бы избежать этого, если это возможно, потому что он предоставлен извне, и было бы неплохо сохранить его как оригинальную копию.
Спасибо!