Неопределенная ссылка на вызываемую функцию

Я использую микроСи / ОС-III rtos на моем zedboard. У меня есть файл test.cc, где функция и ее прототип объявлены как extern "C", и я вызываю функцию в app.c, а прототип функции был объявлен как extern в app.c

Однако компоновщик выдает ошибку неопределенной ссылки на вызываемую функцию.

Если я переименую test.cc в test.c и объявлю функцию и ее прототип без внешнего "C", он будет работать отлично.

Я должен использовать смесь C и C++, и у меня нет возможности придерживаться чистого C, есть ли выход в том, как я могу добиться вызова функции в.cc из моей программы.c. Нужно ли вносить какие-либо изменения в параметры компоновщика?

Я использую vivado 18.1 и SDK, который поставляется вместе с ним. В моем проекте приложения я выбрал платформу ОС в качестве UCOS и целевой язык в качестве C. Если я пытаюсь выбрать целевой язык в качестве C++, это дает ошибку.

0 ответов

Другие вопросы по тегам