Как заставить C ++ компилировать файл .c с помощью компилятора VxWorks MIPS? - PullRequest
0 голосов
/ 08 августа 2009

Я использую компилятор VxWorks MIPS, и у меня есть какой-то сторонний источник, который нужно скомпилировать как c ++, но все расширения - .c. В этом случае должен быть переключатель, который я могу передать компилятору для принудительной компиляции C ++, но я не могу его найти.

Есть предложения?

Ответы [ 2 ]

2 голосов
/ 06 декабря 2009

Является ли компилятор VxWorks MIPS просто gcc с другим именем? Если это так, вы можете установить флаг -x c++, чтобы явно указать язык, а не позволять компилятору выбирать значение по умолчанию на основе суффикса имени файла.

0 голосов
/ 17 августа 2009

Один трюк - создать метафайл, который включает в себя весь сторонний источник, и переименовать его в .cpp / .cc. Что-то вроде:

find 3rd_party -type f -name '*\.c' | awk '{print "#include \"" $0 "\""}' > build_3rd_party.cc

Вы должны будете убедиться, что все -I выстроены в очередь и связываются с флагами компиляции, которые они хотят. Это также немного ускорит процесс, если есть куча подкаталогов, через которые можно рекурсировать.

Если это не удастся, передайте новый CC env var для стороннего материала, который действительно указывает на компилятор cpp.

...