Как скомпилировать проект, состоящий из исходных файлов C и C++, во встроенной рабочей среде IAR для ARM?

У меня есть два проекта встроенных рабочих мест IAR (для Cortex-M3 ARM), один из которых написан на C, а другой — на C++.
Мне нужно объединить некоторые файлы из этих двух проектов, чтобы создать один новый проект, и я не могу изменить язык для других проектов по некоторым причинам (например, я использовал ООП в проекте С++ и некоторые собственные функции c в другом).
Теперь я ищу решение для объединения этих проекты и скомпилировать их во встроенном инструментальном средстве IAR 6.
Есть идеи?


person Ehsan Khodarahmi    schedule 30.09.2012    source источник
comment
Если ваш кросс-компилятор представляет собой вариант GCC, вы можете использовать один и тот же компилятор для кода C и C++, поскольку GCC может различать их (при условии, что они имеют разные суффиксы, т.е. .cc или .cpp для C++ и .cдля C)   -  person Basile Starynkevitch    schedule 30.09.2012
comment
Включение многофайловой компиляции в настройках компилятора встроенного рабочего места IAR — вот ответ!   -  person Ehsan Khodarahmi    schedule 30.09.2012
comment
Я не уверен, что многофайловая компиляция действительно хороший ответ. ИМХО, ответ можно найти в Options|C/C++ Compiler|Language 1. Вы можете указать, как файлы в проекте должны быть скомпилированы. Вы можете выбрать между C, C++ или Auto (на основе расширения). Этот последний пункт — то, что вам нужно. Ваши файлы .c будут скомпилированы как C, а ваши файлы .cpp будут скомпилированы как C++. Следующая остановка: экстерн C.   -  person dantje    schedule 20.12.2012
comment
Ах, не мог бы кто-нибудь снова открыть вопрос?   -  person dantje    schedule 20.12.2012
comment
я сталкиваюсь с той же проблемой. вам удалось получить решение?   -  person Abhishek Thakur    schedule 17.04.2013


Ответы (1)


Скомпилируйте все файлы c. Скомпилируйте все файлы c++. Создайте main() для вашего нового проекта, который должен быть C++. Связать все файлы, и все.

person BЈовић    schedule 30.09.2012