Перейти к содержанию
    

Почему ругается линкер?

получаю ошибку

Error[Li005]: no definition for "Delay_ms" [referenced from F:\MotorControlSolution\DRV8308\FIRMWARE\STM32F303CB\Debug\Obj\motor.o]

но у меня в motor.c прописано

#include "delay.h"

а в хедере определена функция Delay_ms.

 

более того правый клик на функции - Go to Definition Delay_ms - и я попадаю в функцию.

Если делаю ремарк на функцию - ошибка исчезает.

 

блин. забыл включить си-файл в проект.

 

-------------------------------------------------------------------------------------------------------------

 

а вот сейчас реальная жесть.

есть файлы tasker.c и tasker.h.

в tasker.c реализована функция TASKER_DisplayLimit ну и в tasker.h она определена

получаю - Error[Li005]: no definition for "TASKER_DisplayLimit" [referenced from F:\MotorControlSolution\DRV8308\FIRMWARE\STM32F303CB\Debug\Obj\tasker.o]

удаляю эту функцию вообще, проверяю что не обращаюсь к ней ни в одном из файлов - по прежнему при компиляции присутствует та же ошибка.

 

я привык что в эклипсовских средах файлы видны автоматически. а в IAR даже если файл прописан а я его заменил - надо делать Delete / Add .

Изменено пользователем Jenya7

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...я привык что в эклипсовских средах файлы видны автоматически...

 

тут надо понимать что обычно в графических средах не один код работает по зависимостям. одна логика - когда вы кликаете на переход по функции. другая на сэнсетив при сборке...

даже у мелко-мягких, дэ-факто , застрельщиков стандартов по данной теме - был глюк который они упорно тащили аж с 4 версии студии...

правда дальше 8 студии помойму уже не было возможности мне это перепроверить.

она напрочь глючила при достаточно большой глубине вложенности ашников друг в друга...и если где то там в глубинах не дай бог дёрнуть ашник.....

отсюда более опытные товарищи обходятся двумя подходами:

- в ввиде костыля ребилд-олл (ну вы замечали что CI именно этим и занимается обычно - фулл а не инкрементальной сборкой. предпосылки именно в возможности получении разных результатов)

- не вставлять ашник в ашники. это получше с точки зрения стабильности, но уходят удобства...

 

глюки причём бывают такие экзотические....что крови много пьют.

кто с опытом - обычно молча начинают с ребилд олл, а уж потом начинают вникать...

 

удачи вам

(круглый)

Изменено пользователем kolobok0

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...