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

 
 
> IAR Error[Li005]: no definition for ... Помогите, Линкер не видет функции в соседнем файле *.c
NeoMage
сообщение Jun 5 2012, 17:42
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 5-06-12
Пользователь №: 72 183



IAR для STM8.
Написал себе библиотеку для работы с UART2 (uart2.h, uart2.c)
Создаю новый проект, включаю в него:
main.c
uart2.h - описания функий для работы с UART
uart2.c - сами функции для работы с UART
Все файлы добавлены в проект и лежат в одном каталоге.

В main.c пишу #include "uart2.h" и дальше использую функции UART2

Компилируется без ошибок но при сборке ругается на все используемые функции из uart2.c:
Error[Li005]: no definition for "uart2_write" [referenced from ...\Debug\Obj\main.o] ... и т.д.
Получается линкер ищет эти функции в main.o а не в uart2.o

Если в main.с добавить #include "uart2.c", то все работает.

В AVR Studio так делал постоянно: блоки переферии выносил в отдельные файлы и инклудил их при необходимости.

Как в IAR так-же сделать? Подскажите пожалуйста.

Сообщение отредактировал NeoMage - Jun 5 2012, 17:43
Прикрепленные файлы
Прикрепленный файл  UART_Example.zip ( 6.15 килобайт ) Кол-во скачиваний: 28
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Dog Pawlowa
сообщение Jun 6 2012, 05:09
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Проект то я и не заметил.

Автор, точно сами библиотеку писали?
Потому как поставили условие компиляции, а дифайна нет.

Во первых, в свойствах проекта укажите этот злочастный USE_UART2
Во вторых незачем в проект включать хедеры
В третьих научитесь правильно определять и объявлять переменные в проектах со многими файлами.
В четвертых обратите внимание на предупреждения, проверка >=0 любого беззнакового числа дает положительный результат
ну и прочее.

Исправленный проект прилагаюПрикрепленный файл  2.ZIP ( 6.23 килобайт ) Кол-во скачиваний: 238


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 02:28
Рейтинг@Mail.ru


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