nickson.b.k 0 13 июля, 2021 Опубликовано 13 июля, 2021 · Жалоба Доброго времени! Подключил с основному проекту библиотеку для работы с CAN. Сама библиотека основана на HAL, а основной проект пишу сам на регистрах. При подключении сишника и ашника к проекту, компилятор выдаёт ошибку. Из файла can.c не видятся функции HAL-ловских сишников. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 13 июля, 2021 Опубликовано 13 июля, 2021 · Жалоба 1 minute ago, nickson.b.k said: компилятор выдаёт ошибку. Обычно ошибку "undefined reference to" выдаёт линкер. А значит, он не может найти объектник с нужными функциями. А значит, объектника нет, или в нём нет этих функций. А значит, либо функции закомментированы, либо сишник с ними не компилируется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nickson.b.k 0 13 июля, 2021 Опубликовано 13 июля, 2021 · Жалоба Только что, haker_fox сказал: Обычно ошибку "undefined reference to" выдаёт линкер. А значит, он не может найти объектник с нужными функциями. А значит, объектника нет, или в нём нет этих функций. А значит, либо функции закомментированы, либо сишник с ними не компилируется. и как выйти из этой ситуации? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 13 июля, 2021 Опубликовано 13 июля, 2021 · Жалоба 3 minutes ago, nickson.b.k said: и как выйти из этой ситуации? Убедитесь, что файл с этими функциями компилируется, а сами функции существуют и не закоментированы. Должен быть объектный файл (то же самое имя, но расширение .o) после компиляции файла HAL. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nickson.b.k 0 13 июля, 2021 Опубликовано 13 июля, 2021 · Жалоба 4 минуты назад, haker_fox сказал: Обычно ошибку "undefined reference to" выдаёт линкер. А значит, он не может найти объектник с нужными функциями. А значит, объектника нет, или в нём нет этих функций. А значит, либо функции закомментированы, либо сишник с ними не компилируется. Обнаружил, что тот файл hal_can.c, к которому обращается мой can.c , весь неактивный? Я не понимаю как это решить... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Arlleex 131 13 июля, 2021 Опубликовано 13 июля, 2021 · Жалоба 2 минуты назад, nickson.b.k сказал: Я не понимаю как это решить... Изучением Си, в первую очередь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nickson.b.k 0 13 июля, 2021 Опубликовано 13 июля, 2021 · Жалоба Только что, Arlleex сказал: Изучением Си, в первую очередь. умник. соседний проект точно такой же. И там всё норм. В этом проекте, всё что было сделано, это импортировались мои файлы (.c и .h) в данный проект.... Один собирается, второй нет. Один имеет нормальный файл hal_can.c, у второго проекта этот файл весь серый. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
heavyC1oud 0 13 июля, 2021 Опубликовано 13 июля, 2021 · Жалоба возможно все серое, потому что незадефайнен HAL_CAN_MODULE_ENABLED Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Integro 0 15 июля, 2021 Опубликовано 15 июля, 2021 · Жалоба On 7/13/2021 at 3:22 PM, nickson.b.k said: Я не понимаю как это решить... Вероятно нужно разкомментировать HAL_CAN_MODULE_ENABLED в файле stm32f3xx_hal_conf.h Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
x893 35 15 июля, 2021 Опубликовано 15 июля, 2021 · Жалоба On 7/13/2021 at 3:22 PM, nickson.b.k said: Я не понимаю как это решить... Прочитать книгу "Стань гуру программирования на языке С за 24 часа" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VladimirG 0 15 июля, 2021 Опубликовано 15 июля, 2021 · Жалоба На сколько я помню, в основном инклюде хала нужно включать перефирию. Только после этого будут собираться нужные объектники. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться