У меня есть некоторый код, который разделяется между приложением C ++ для Windows и приложением XC16 C. Исходный код написан таким образом, что он аккуратно компилируется под MSVC и XC16 (при соответствующем использовании __cplusplus
макро).
Проблема в том, что XC16 отказывается строить foo.cpp
, Я должен скопировать файл в foo.c
и обратно Это наносит ущерб управлению ревизиями и делает редактирование кода внутри идеалов проблематичным, когда функции копирования автоматизированы в процессе сборки.
Есть ли способ заставить XC16 построить (как C) файл с расширением cpp? (обратите внимание, что файл заголовка foo.h
так что это не проблема).
Мы обнаружили флаг в одной из наших сред сборки Windows (Embarcadero CBuilder), который вызывает компиляцию foo.c
как C ++. Поэтому мы будем переименовывать в foo.c
, Задача решена. (РЕДАКТИРОВАТЬ: Другие отметили, что аналогичные флаги существуют в ВК)
Мы не смогли найти сопоставимый флаг в XC16 (основанный на gcc 4.5.1) для лечения foo.cpp
как исходный файл C Флаг -x (Заставить gcc скомпилировать файл .cpp как C) похоже не работает под MPLABX.
Других решений пока нет …