xentis napisał(a):
Coś mi się wydaje że sposób na dołączanie bibliotek jaki zastosowałeś jest niewłaściwy.
Autorze wątku, w jakiś sposób skopiowałeś biblioteki do katalogu "include" ale wg mnie on nie jest dla użytkownika w ten sposób.
Includowanie "hd4780.h" zadziałałoby wtedy, gdy pliki biblioteczne będą zaraz obok pliku main.c
Brak pliku źródłowego hd44780.c w katalogu głównym projektu powoduje, że kompilator nie stworzy z niego obiektu hd44780.o zatem linker nie widzi funkcji lcd_write_txt.
Twoje zamieszanie jest o tyle ciekawe, że kompilator widzi ten plik nagłówkowy, ale w katalogu C:/hd44780

i dlatego nie zgłasza błędu, ale nadal to jest źle

Skopiuj wszystkie pliki biblioteczne .h .c do katalogu głównego projektu i wszystko ruszy.
Skopiować możesz po prostu z dysku c poprzez ctr+c i ctr+v od razu do okienka Eclipse, jakby to był exsplorator windows.
Podsumowując w katalogu głównym projektu musisz mieć:
main.c
hd44780.c
hd44780.h
------------------------ [ Dodano po: 5 minutach ]Zealota napisał(a):
Podsumowując w katalogu głównym projektu musisz mieć:
main.c
hd44780.c
hd44780.h
Z drugiej strony zrób eksperyment. Linię:
#include "hd44780.h" zamień na:
#include <hd44780.h>
a plik źródłowy hd44780.c skopiuj obok main.c.
Deklarację sobie linker pobierze z katalogu na dysku C, a ciało funkcji pojawią się w obiekcie hd44780.o :
Oczywiście w tym wypadku to nie jest dobre rozwiązanie i nie należy tak robić, na pewno nie na poczatku
