реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Линковщик IAR не находит функцию
SMRM
сообщение Jan 16 2014, 10:47
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 26-06-09
Пользователь №: 50 667



Уважаемые коллеги!
Помогите с решением проблемы.
Использую IAR 6.60.
Проект компилится без ошибок.
При линковке выдается сообщение:
Error[Li005]: no definition for "CPU_IntSrcEn" [referenced from E:\
ControllersArm_IAR\...\Debug\Obj\bsp_int.o]
Error while running Linker
Файл в котором находится эта функция откомпилирован и есть его объект файл cpu_c.o в ...стандартной папке ...\Debug\Obj\
В литинге этого файла откомпилированная нужная функция CPU_IntSrcEn присутствует.
Заранее благодарю за помощь.
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 16 2014, 12:02
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Компилится случайно не в режиме С++?


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
SMRM
сообщение Jan 16 2014, 12:23
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 26-06-09
Пользователь №: 50 667



Цитата(Сергей Борщ @ Jan 16 2014, 15:02) *
Компилится случайно не в режиме С++?

Компилится в режиме Extended Embedded C++
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Jan 16 2014, 13:29
Сообщение #4


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(SMRM @ Jan 16 2014, 14:23) *
Компилится в режиме Extended Embedded C++
А bsp_int.o компилится из сишного файла в режиме C или из ассемблерного файла? Тогда добавьте extern "C" перед объявлением функции CPU_IntSrcEn() и гуглите name mangling.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
SMRM
сообщение Jan 16 2014, 14:06
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 20
Регистрация: 26-06-09
Пользователь №: 50 667



Цитата(Сергей Борщ @ Jan 16 2014, 16:29) *
А bsp_int.o компилится из сишного файла в режиме C или из ассемблерного файла? Тогда добавьте extern "C" перед объявлением функции CPU_IntSrcEn() и гуглите name mangling.

Большое спасибо за помощь.
В предыдущих проектах стояло
#ifdef __cplusplus
extern "C" {
#endif
Это помогло. Еще раз спасибо за подсказку.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 13:03
Рейтинг@Mail.ru


Страница сгенерированна за 0.01393 секунд с 7
ELECTRONIX ©2004-2016