Титла: GCC-AVR undefined reference to Публикувано от: runtime в Jan 08, 2015, 21:48 Здравейте!
Опитвам се да си добавя една библиотека и да програмирам един ATMEGA 128, но получавам: demo.c:63: undefined reference to `EEOpen' Библиотеката е запис/четене на eeprom през i2c, но не че има значение де. :) Та библиотеката има два файла: 24c64.c и 24c64,h и двата съм ги сложил в папката на проекта, но не че нещо се случва. В Makefile-а съм добавил и 24c64.o: 24c64.c $(CC) $(INCLUDES) $(CFLAGS) -c $< но грешката все още си я има. П.С. в проекта си инклудвам 24c64.h файла. Ако инклудна ,c файла се компилира ама... #include "24c64.h" Та някой да има на идея защо се случва това? Че малко съм скаран с C още [_]3 P.S. За пртолока: http://extremeelectronics.co.in/avr-tutorials/easy-24c-i2c-serial-eeprom-interfacing-with-avr-microcontrollers/ Титла: Re: GCC-AVR undefined reference to Публикувано от: neter в Jan 09, 2015, 01:21 Някакъв шанс да видим цялото съдържание на demo.c и Makefile?
Титла: Re: GCC-AVR undefined reference to Публикувано от: gat3way в Jan 09, 2015, 01:28 Означава че никъде в хедърите които си инклуднал няма EEOpen, мисля че е достатъчно говорящо. Аз бих grep-нал в .h файловете които инклудваш въобще има ли декларирана такава функция.
Между другото не прави такива гимнастики с makefile-а, нямаш нито INCLUDES, нито CFLAGS, не слагай -c щото ще ти създаде object файлове и ще трябва да ги линкнеш изрично, опрости си живота :) Титла: Re: GCC-AVR undefined reference to Публикувано от: runtime в Jan 09, 2015, 10:15 Цитат Някакъв шанс да видим цялото съдържание на demo.c и Makefile?Има [_]3 Makefile ($2) demo.c ($2) Другите два файла може да се видят от първия линк :) Титла: Re: GCC-AVR undefined reference to Публикувано от: bvbfan в Jan 09, 2015, 10:58 Код: #include <avr/eeprom.h> Титла: Re: GCC-AVR undefined reference to Публикувано от: runtime в Jan 09, 2015, 11:08
Ъъъъ какво общо има тази библиотека с другата, която ми връща грешката? При все, че тази, която ми пишеш е за работа с вградената памет в чипа, а аз искам да пиша във виншен чип през i2c интерфейса? Инак мерси за предложението де [_]3 Титла: Re: GCC-AVR undefined reference to Публикувано от: bvbfan в Jan 09, 2015, 11:52 Има общо липсват ти функциите за Eeprom-a EEXxx (EEOpen etc)
Код: #include <avr/io.h> Титла: Re: GCC-AVR undefined reference to РЕШЕН! Публикувано от: runtime в Jan 09, 2015, 12:09 Не съм много съгласен с това :)
Ред 36 в demo.c [_]3 EEOpen(); е декларирана в 24c64.h репективно кода е в 24c64.c. Въпросния също е инклуднат, но ми дава грешка, която според мен е в линкъра. РЕШЕН!!! Титла: Re: GCC-AVR undefined reference to Публикувано от: bvbfan в Jan 09, 2015, 12:38 Да, сега видях, че ги има функциите. Проблемът е в makefile-a, защото
Код: 24c64.o: 24c64.c Код: OBJECTS = demo.o Код: OBJECTS = 24c64.o demo.o Титла: Re: GCC-AVR undefined reference to Публикувано от: runtime в Jan 09, 2015, 12:46 Тъкмо и това и направих малко преди да пишеш [_]3 Друг е въпроса, че на i2c дебъгера ми идват някакви странни битове ама това ще го мъдря после :)
Мерси! Титла: Re: GCC-AVR undefined reference to Публикувано от: bvbfan в Jan 09, 2015, 13:08 Кодът е трудно читаем и подтиква към грешки
Код: if (xMBUtilGetBits( ucRegCoilsBuf, 0, 1 )==1) Код: if (bit_is_clear(PIND,0)) Титла: Re: GCC-AVR undefined reference to Публикувано от: runtime в Jan 09, 2015, 14:47 Да, да знам, но така ги изтеглих от github. Сега да подкарам нещата, а после ще оправям :)
|