Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: ИАРе ругается: Компилятор "Warning [Pe177]:", затем линкер "Error [e46]...
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Cредства разработки для МК > IAR
richie
Добрый день, Многоуважаемый All!

Пытаюсь побороть такую фичу IARа:

Есть .с-файл, в котором реализация функции:
Код
static  INT8U  UartCmdParser( INT8U *pBuf )
{
...
}

К нему .h-файл с хидером функции:
Код
extern INT8U UartCmdParser( INT8U *pBuf );


Есть файло с main() в теле которой вызывается указаная функция.

А проблема такая: при компиляции на функцию UartCmdParser выдает предупреждение:
Код
Warning[Pe177]: function "UartCmdParser" was declared but never referenced


Далее при линковке следующую ошибку:
Код
Error[e46]: Undefined external "UartCmdParser" referred in app ( C:\Projects\ARM\UCOSII_LPC-P2378\Software\EvalBoards\NXP\LPC-P2378-SK\IAR\OS-View-TCPIP\Flash\Obj\app.r79 )


Чё за фигня?
В кейле, VC++, Borlande, GCC такого не встречал, чтобы сперва говорить что "не используется",
а затем материться "что не хватает".
zltigo
Цитата(richie @ Mar 19 2008, 10:08) *
Пытаюсь побороть такую фичу IARа:

Причем здесь поминание фич и компиляторов всуе, если Вы своими собственными руками указали static для этой функции?
Цитата
Чё за фигня?

Это вопрос к написавшему - что Вы ожидали от static функции? Что она супротив этому будет видна извне? Что компилятор не будет ругаться на то, что функция которая описана как исключительно локальная не используется??
Цитата
В кейле, VC++, Borlande, GCC такого не встречал...

Не дезинформируйте - это абсолютно законное поведение любого компилятора.
richie
zltigo, не пинайте, пожалуйста!
Для меня еще все новое:
- компилятор, его сообщения, его особенности.
А еще осваиваю ARM, его отладчик.

А вообще, спасибо за то что слегка ткнули носом -
нужно учить матчасть.
zltigo
Цитата(richie @ Mar 19 2008, 11:05) *
Для меня еще все новое:

Ну так, поскольку все это было помянуто с видом бывалого и с перечислением множества компиляторов - не смог сдержаться sad.gif. Больше не буду!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.