Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 14 lip 2025, o 04:26


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
    Autor Wiadomość
    PostNapisane: 18 mar 2018, o 16:18 
    Offline
    Nowy

    Dołączył(a): 20 sty 2017
    Posty: 15
    Lokalizacja: Aleksandrówek/Konin
    Pomógł: 0

    Witam

    Po roku przerwy wróciłem do próby nauki programowania.
    Ćwiczę na książce BB. Multipleksowanie LED. Procek - Atmega8A
    Mam problem z kompilacją programu.

    Wywala mi taki oto błąd:

    15:55:04 **** Incremental Build of configuration Release for project 001_Woltomierz_multipleksowany_LED_7seg ****
    make all
    'Building file: ../d_led.c'
    'Invoking: AVR Compiler'
    avr-gcc -Wall -Os -fpack-struct -fshort-enums -ffunction-sections -fdata-sections -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega8a -DF_CPU=8000000UL -MMD -MP -MF"d_led.d" -MT"d_led.o" -c -o "d_led.o" "../d_led.c"
    'Finished building: ../d_led.c'
    ' '
    'Building file: ../main.c'
    'Invoking: AVR Compiler'
    avr-gcc -Wall -Os -fpack-struct -fshort-enums -ffunction-sections -fdata-sections -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega8a -DF_CPU=8000000UL -MMD -MP -MF"main.d" -MT"main.o" -c -o "main.o" "../main.c"
    'Finished building: ../main.c'
    ' '
    'Building target: 001_Woltomierz_multipleksowany_LED_7seg.elf'
    'Invoking: AVR C Linker'
    avr-gcc -Wl,-Map,001_Woltomierz_multipleksowany_LED_7seg.map -mmcu=atmega8a -o "001_Woltomierz_multipleksowany_LED_7seg.elf" ./d_led.o ./main.o
    ./main.o:(.data.cyfry+0x0): multiple definition of `cyfry'
    ./d_led.o:(.data.cyfry+0x0): first defined here
    collect2.exe: error: ld returned 1 exit status
    make: *** [001_Woltomierz_multipleksowany_LED_7seg.elf] Błąd 1

    15:55:06 Build Finished (took 1s.753ms)

    W sumie pliki takie jak w BB pisane ręcznie, nie kopiowane.
    Wcześniejszy programik do obsługi przycisków i diod LED kompiluje się bez problemu.
    Może ktoś wie gdzie leży przyczyna tego błędu?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 mar 2018, o 16:23 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 23 paź 2014
    Posty: 1040
    Lokalizacja: Trójmiasto
    Pomógł: 190

    danko91 napisał(a):
    ./main.o:(.data.cyfry+0x0): multiple definition of `cyfry'

    Masz więcej niż raz zdefiniowaną zmienną cyfry (raz w pliku biblioteki LED, a drugi raz w main)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 mar 2018, o 16:29 
    Offline
    Nowy

    Dołączył(a): 20 sty 2017
    Posty: 15
    Lokalizacja: Aleksandrówek/Konin
    Pomógł: 0

    Ale mam to tylko w pliku d_led.h
    Załączam kod. Może teraz wskażesz mi błąd

    Plik main.c
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    d_led.c

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    d_led.h

    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 mar 2018, o 16:33 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 23 paź 2014
    Posty: 1040
    Lokalizacja: Trójmiasto
    Pomógł: 190

    Zrób clean projektu + Index -> Freshen All Files następnie ponownie Build



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 mar 2018, o 16:38 
    Offline
    Nowy

    Dołączył(a): 20 sty 2017
    Posty: 15
    Lokalizacja: Aleksandrówek/Konin
    Pomógł: 0

    Niestety to nie pomaga :(
    Cały czas to samo.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 mar 2018, o 16:51 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 23 paź 2014
    Posty: 1040
    Lokalizacja: Trójmiasto
    Pomógł: 190

    a dla czego zmienną cyfry masz zainicjowaną w pliku nagłówkowym? Przecież w pliku nagłówkowym powinna być tylko deklaracja tej zmiennej, a inicjalizacja w pliku c.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 mar 2018, o 16:57 
    Offline
    Nowy

    Dołączył(a): 20 sty 2017
    Posty: 15
    Lokalizacja: Aleksandrówek/Konin
    Pomógł: 0

    Właśnie teraz zrozumiałem co źle zrobiłem. Spojrzałem teraz w pliki na płycie dołączonej do BB i tam zmienna cyfry jest w pliku .c. A ja nie wiedzieć czemu wpisałem to w nagłówek. Teraz wszystko się ładnie skompilowało. Dzięki za pomoc. Pozdrawiam



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 17 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO