Witam,
Ostatnio zaciąłem się w poszukiwaniu rozwiązania jak można dołączyć do projektu ale w ECLIPSE bibliotek dostarczonych od kogoś i skompilowanych do plików z rozszerzeniem *.a Okazało się bowiem, że dołączenie ich np. do AVR Studio nie stanowi większego kłopotu, to jednak do Eclipse hmmmm .... tu zaczęły się "schody". Jako przykładowy projekt wziąłem sobie bibliotekę do obsługi wyświetlacza monochromatycznego LCD opartego o sterownik KS108. Przygotowano dość fajne biblioteki na stronie: LINK. Można pobrać z niej dokładny opis w PDF jak należy skonfigurować te biblioteki w AVR Studio 4.xx. Niestety ta metoda nie działa wprost w Eclipse. Na szczęście jest rozwiązanie ...
Zgodnie z instrukcją, mamy biblioteki w folderach np.:
C:\ProGFX
|
+- include
|
+- lib
W folderze "include" znajdują się pliki nagłówkowe *.h natomiast w folderze "lib" jest biblioteka skompilowana wstępnie do pliku *.a o nazwie "libgfx.a". Nie będę teraz tutaj przytaczał opisu z tej strony jeśli chodzi o AVR Studio, bo to każdy sam może sprawdzić, ja natomiast pokażę na tym przykładzie jak należy inkludować i instalować tego typu biblioteki w ECLIPSE. Jeśli bowiem zrobimy to źle, wprowadzając domyślnie całą nazwę biblioteki "libgfx.a" tak jak w instrukcji do AVR Studio, to otrzymamy zawsze w konsoli taki komunikat:
Pierwszy krok to dodanie ścieżek do folderu z plikami nagłówkowymi w tym miejscu:
Gdy już to zrobimy to przechodzimy do ustawień LINKERA i najpierw ustawiamy ścieżkę do naszej biblioteki:
A teraz NAJWAŻNIEJSZE ;) .... dodajemy nazwę biblioteki. Ale nieco inaczej niż w AVR Studio. Otóż nazwa biblioteki jak wspomniałem wyżej to (przypominam) "libgfx.a". Natomiast my musimy wprowadzić TYLKO i WYŁĄCZNIE nazwę ale bez przedrostka "lib" oraz bez rozszerzenia ".a", czyli "gfx", tak jak niżej na obrazku:
Od tej pory cieszymy się prawidłową kompilacją plików z udziałem tej biblioteki ;) .... naturalnie ta sama zasada dotyczy dołączania w Eclipse wszystkich bibliotek *.a Po prostu dodajemy samą nazwę bez przedrostka lib oraz bez rozszerzenia .a
A co z bibliotekami, których nazwy nie zaczynają się na 'lib...' ?
OdpowiedzUsuńNajpierw warto się zapoznać z zasadami tworzenia bibliotek tego typu, jest tam wyraźnie mowa o tym przedrostku lib - więc nikt kto je pisze nie będzie tworzył nazw np
Usuńliblibgfx.a
tylko
libgfx.a
tak samo jak nikt nie stworzy biblioteki
lib.a
ale jeszcze raz powtarzam, to jest artykuł o inkludowaniu a nie o tworzeniu bibliotek - bo tak trochę jakby może nie od tej strony pytanie zadajesz chyba (tak mi się wydaje choć może się mylę)
Teraz jasne, zapamiętam, dziękuję.
OdpowiedzUsuńCzy autor projektu ma zamiar napisać totorial na temat tworzenia takich bibliotek? Jestem w temacie zielony a nie mogę znaleźć potrzebnych informacji..
OdpowiedzUsuńRaczej na pewno nie będę tworzył tutoriala na temat tworzenia takich bibliotek, dlatego że wydaje mi się takie coś troszkę mało celowe - jeśli biblioteki tworzone miałyby być przez jedną osobę dla samego siebie czy tam np dla kolegi. Bo nakład pracy spory - szczególnie przy dobrym zdefiniowaniu warunków dla przeróżnych procesorów a efekt jaki ? komu się będzie chciało to robić ? ;) to jest bardziej opłacalne dla większych zespołów, firm czy organizacji w ramach przygotowywania np własnych narzędzi. A prywatnie wystarczają zwykłe pseudo biblioteki - czyli foldery z otwartymi funkcjami, które czasem trzeba sobie lekko przerobić do danego procesora.
UsuńWitam,
OdpowiedzUsuńna wstępie wieki Szacunek dla Pana za bloga i bluebook w czasie którego czytaniu jestem, i za poradniki Video.
Czy możliwe jest do Eclipse dodawanie bibliotek z Arduino ? w necie jest duży ich zasub i ciągle przybywają, czy można prosić o opis jak użyć takich bibliotek z Arduino w Eclipse ??
Arduino to taki ala język C++ a nie C. Tymczasem my (tzn ja) programujemy nie w C++ a w czystym C .... (a nie w Eclipse) bo Eclipse panie kolego to TYLKO zwykły edytor tekstu dla programisty. Niech kolega sobie obejrzy TEN cykl poradników:
Usuńhttps://www.youtube.com/playlist?list=PLtXXWLsA5QNg1SLhEnlM8Emlg-Mc5ydhf
to zobaczysz jak się adaptuje biblioteki z arduino do C ;) ... właśnie m.in za to ludzie doceniają ten cykl poradników
Wielkie dzięki za odpowiedz, siadam i oglądam poradniki.
OdpowiedzUsuńDziękuję bardzo.