Я использую 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 ++, это приводит к ошибке.