logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[M162] [C] "undefined reference to" kompil. libd

Pawel1812 27 Kwi 2009 02:39 3771 4
  • #1 6461066
    Pawel1812
    Poziom 26  
    Witam
    Próbuję dziś cały dzień uruchomić bibliotekę z wydawnictwa BTC http://www.btc.pl/pliki/libd.zip Mimo stosowania się do zaleceń edycji z książki i kompilacji w terminalu wydałem polecenie i są zwracane błędy jak w screenie poniżej, Wiem, że robię coś głupiego, bo już nie jest to moja pierwsza biblioteka i żadnej się nie dało skompilować, nawet próbowałem na mfile od działającego projektu, mimo naprawdę intensywnego googlowania nie znalazłem nic dla siebie. Gdyby ktoś zerknął i udzielił jakiejś wskazówki, to będę bardzo wdzięczny i chętnie kliknę "pomógł".
    Pozdrawiam

    W trakcie przeszukiwania elektrody trafiłem na podobne problemy z bibliotreką rklibavr. Sciągnąłem sobie tą bibliotekę na próbę i u mnie ta biblioteka kompiluje się bezproblemowo w przeciwieństwie do tej z btc.

    [M162] [C] "undefined reference to" kompil. libd[M162] [C] "undefined reference to" kompil. libd

    Identyczna sytuacja ma miejsce z kompilacją bibliotek do pozostałych driverów.
    Czynności, które wykonuję:
    1) Ściągam
    2) Rozpakowuje
    3) Wchodzę w cmd do katalogu, w którym jest plik Makefile_AVR
    4) Wpisuję: make -f Makefile_AVR all - polecenie z książki
    5) Otrzymuję błąd:
    [M162] [C] "undefined reference to" kompil. libd

    O co tutaj chodzi? Czy trzeba najpierw skompilować biblioteki? Niestety, w książce "Wyświetlacze..." wydawnictwa BTC nic nie jest na ten temat powiedziane. tylko wpisać make -f Makefile_AVR all.

    Kolejna paczka błędów:
    [M162] [C] "undefined reference to" kompil. libd

    Gdy wydam identyczne polecenie po raz drugi błąd wygląda następująco:
    [M162] [C] "undefined reference to" kompil. libd

    Zapytam inaczej - czy komuś się udało skompilować tę bibliotekę?
  • Pomocny post
    #2 6470572
    Dr.Vee
    VIP Zasłużony dla elektroda
    W pliku Platforms/include/AVR_platf_spec.h deklaracje __inline__ są bez sensu - jeśli miałyby być inline, to musiałyby istnieć definicje funkcji w nagłówku, a nie tylko deklaracje.

    Na szybko: usuń w w/w pliku wszystkie wystąpienia "__inline__" i dodaj na początek każdej deklaracji funkcji słowo "extern".

    Pozdrawiam,
    Dr.Vee
  • #3 6471269
    Pawel1812
    Poziom 26  
    Witam
    Postąpiłem zgodnie z poradą - usunałem __inline__ i przed wszystkimi występującymi w tym pliku deklaracjami dodałem słowo extern i biblioteka się skompilowała. Serdecznie dziękuję za pomoc i już kliknałem "pomógł".
    Pozdrawiam

    PS. Ciekawe, jak bez tej zmiany udało się autorowi książki to skompilować?

    Co prawda mojego wyświetlacza T6963 nie udało się odpalić na tej bibliotece, ale nie udało się z nim też na żadnej innej, nawet na tej http://en.radzio.dxp.pl/t6963/ ani na gotowym programiku demonstracyjnym z BASCOMa, więc wszystko wskazuje, że jest uszkodzony - migną tylko poziome kreski na całej długości wyświetlacza - kontrola poprawności połączenia była wykonana dziesięciokrotnie - mierzenie od nóżek T6963C do nóżek Atmega162, portC na którym jest JTAG nie jest wykorzystany. Za kilka dni jak dojdzie, to spróbuję na nowym LCD i napiszę jak się ta biblioteka sprawuje.

    Jedyny obraz jaki się udało wygenerować BASCOM'em wygląda tak:
    [M162] [C] "undefined reference to" kompil. libd

    Właśnie podłączyłem nowy wyświetlacz tym razem typu DMF5005NY–LY za 75zł i wszystko jest ok. Wszystko działa zarówno na bibliotece z http://en.radzio.dxp.pl/t6963/ jak i omawianej w temacie z książki z btc. Jedyna wada tego wyświetlacza, to procedura włączania i wyłączania napięć - brak zintegrowanego generatora napięć ujemnych :(
    Pozdrawiam
  • #4 8213379
    ba2niedz
    Poziom 10  
    Witam
    Mam problem z biblioteką libd z książki Baranowskiego, czy ktoś może wie jak jak skompilować i uruchomic pod windows??
    Będe bardzo wdzięczny za pomoc.
  • #5 8216145
    Pawel1812
    Poziom 26  
    Może konkretniej proszę, z czym dokładniej jest problem.
REKLAMA