неопределенная ссылка на вызванную функцию - PullRequest
0 голосов
/ 30 августа 2018

Я использую RTC на моей плате. У меня есть файл 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 ++, это приводит к ошибке.

...