Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Kompilator GCC nie znajduje biblioteki

20012game 13 Wrz 2018 19:49 342 12
  • #1 13 Wrz 2018 19:49
    20012game
    Poziom 5  

    Witam mam problem z kompilatorem gcc, gdy chce cos skompilować uzyskuje poniższy błąd:

    fatal error: gcc/avr/io.h: No such file or directory
    #include <gcc/avr/io.h>

    Oraz gdy w kodzie usunę linijkę która powoduje powyższy

    fatal error: util/delay.h: No such file or directory
    #include <util/delay.h>

    To jest kod

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0 12
  • #2 13 Wrz 2018 21:10
    tronics
    Poziom 36  

    Źle skonfigurowane IDE i/lub nieprawidłowy toolchain.

    0
  • #3 13 Wrz 2018 21:15
    20012game
    Poziom 5  

    Tylko to nie IDE

    0
  • #4 13 Wrz 2018 21:15
    ex-or
    Poziom 15  

    Tak jest źle:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    powinno być:
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Kompilator musi znać ścieżkę do plików nagłówkowych. Różnie się to ustawia w różnych środowiskach więc musisz podać z jakiego korzystasz. Na przykład w Eclipse z pluginem AVR ustawia się ścieżki przez opcję menu "Window/Preferences/AVR/Paths".

    0
  • #5 13 Wrz 2018 21:18
    20012game
    Poziom 5  

    Korzystam z samego kompilator, to nie zmienia faktu że util/delay. h też nie ma, a nawet jak było bez tego gcc to nie znajdywało

    0
  • #6 13 Wrz 2018 21:32
    tronics
    Poziom 36  

    A to ciekawe.

    Cytat:
    C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin>avr-gcc.exe avr.c -o e:\avr.hex -mmcu=atmega8 -DF_CPU=16000000UL -Os

    I co? I poszło.

    0
  • #7 13 Wrz 2018 21:39
    20012game
    Poziom 5  

    To do mnie czy do niego?

    0
  • #8 13 Wrz 2018 21:48
    tronics
    Poziom 36  

    A co za różnica, ma kolega fragment z wiersza poleceń czyli zrobiłem to co kolega zamierzał tj. wywołałem bezpośrednio kompilator z minimalną listą parametrów by powyższy kod został poprawnie skompilowany (oczywiście z poprawką w formie #include <avr/io.h> zamiast gcc/avr/io.h). Skoro w toolchain zainstalowanym razem z atmel studio się da to o ile ma kolega poprawny, kompletny toolchain do AVR to zwyczajnie nie ma innej opcji - musi jednakowo zadziałać. Dlatego pisałem o źle skonfigurowanym IDE i/lub nieprawidłowym toolchain.

    0
  • #9 13 Wrz 2018 21:51
    20012game
    Poziom 5  

    Gdyby mi działał USBAsp w Atmel Studio To bym z niego korzystał, a nie przy tym kodzie się zaświeci dioda (Zaświeci, nie będzie mrugać tak jak jest w kodzie) , raz w ogóle się nic nie zaświeci. A wszystko według poradników robiłem

    0
  • #10 13 Wrz 2018 22:15
    tronics
    Poziom 36  

    Sam sobie kolega problemy stwarza. Raz, że USBAsp można obsłużyć w Atmel Studio np. tak:
    https://blog.manash.me/setting-up-atmel-studio-for-usbasp-and-avr-programming-802bb4dcf1e9
    A już z całą pewnością na polskojęzycznych portalach też takowe poradniki się pojawiały. Ale to sprawa zupełnie drugorzędna. Pierwszorzędna jest taka, że nie wiadomo co też kolega za toolchain sobie ściągnął.
    Np. poprawny jest tu:
    http://www.microchip.com/mplab/avr-support/avr-and-arm-toolchains-(c-compilers)
    Poświęciłem 5 minut, ściągnąłem wersję standalone toolchaina, wypakowałem do zupełnie innego miejsca i... popatrzmy:

    Cytat:
    E:\toolavr\bin>avr-gcc e:\avr.c -o e:\avr2.hex -DF_CPU=16000000UL -Os -mmcu=atmega8

    Poszło... udało mi się, a z całą pewnością nie jestem osobą, która sobie z reguły kompiluje pliki z poziomu linii poleceń. Skoro udało mi się na 2 różnych toolchainach (dokładnie zgodnie z zawartością HEX w pierwszym przypadku czyli w AS7 mam AVR_8_bit_GNU_Toolchain_3.6.1_1750
    W drugim
    AVR_8_bit_GNU_Toolchain_3.6.1_1752
    Doprawdy nie mam pojęcia co i jak można zrobić źle.
    Specjalnie dodałem inną flagę, a do powyższego kodu linię z
    int a;
    Oto wynik działania:
    Cytat:
    E:\toolavr\bin>avr-gcc e:\avr.c -o e:\avr2.hex -DF_CPU=16000000UL -Os -mmcu=atmega8 -Wall
    e:\avr.c: In function 'main':
    e:\avr.c:5:5: warning: unused variable 'a' [-Wunused-variable]
    int a;
    ^

    Czyli zgodnie z założeniami. A całkiem przyjemną obsługę USBasp ma Eclipse z pluginem AVR.

    0
  • #11 14 Wrz 2018 08:28
    ex-or
    Poziom 15  

    avr-gcc ma "wszyte" domyślne ścieżki plików nagłówkowych, które można sobie podejrzeć po wstawieniu opcji -v (verbose). W komunikatach pojawi się wtedy coś takiego:
    #include "..." search starts here:
    #include <...> search starts here:

    0
  • #12 14 Wrz 2018 10:00
    20012game
    Poziom 5  

    20012game napisał:
    Gdyby mi działał USBAsp w Atmel Studio To bym z niego korzystał, a nie przy tym kodzie się zaświeci dioda (Zaświeci, nie będzie mrugać tak jak jest w kodzie) , raz w ogóle się nic nie zaświeci. A wszystko według poradników robiłem

    tronics napisał:
    Sam sobie kolega problemy stwarza. Raz, że USBAsp można obsłużyć w Atmel Studio np. tak:
    https://blog.manash.me/setting-up-atmel-studio-for-usbasp-and-avr-programming-802bb4dcf1e9


    Powtarzam się, zrobiłem wszystko według poradnika lecz ciągle gdy klikam build a potem Tools>UsbASP nic sie nie dzieje a gdy będąc w Properties Projektu , gdy kliknę Tools>UsbASP, cos się dzieje a tak dokladnie to dioda się zaświeca i świeci cały czas, zamiast mrugać według kodu

    0
  • #13 14 Wrz 2018 10:28
    tronics
    Poziom 36  

    W tym temacie kolega pisze o problemach z kompilatorem - czy kolega ściągnął prawidłowy toolchain i spróbował skompilować plik z własnym kodem tak jak zrobiłem to ja, dwukrotnie? Nie. Pisze kolega o problemach z usbasp pod AS7. A sprawdzał kolega czy z linii poleceń wywołując avrdude cokolwiek się zmienia? Przecież external tools który się w AS7 konfiguruje to nic innego jak wywołanie avrdude.exe z takimi samymi parametrami jak w linii poleceń. Ale pomijając to przecież nikt nie zabrania korzystać z zewnętrznej nakładki z GUI na AVRDUDE, np. AVRDUDESS. Jeśli już tak rzeczywiście nie chce integracja w IDE zadziałać. To ja jeszcze raz napiszę - sam sobie kolega robi pod górkę.

    0
  Szukaj w 5mln produktów