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



Teraz jest 28 mar 2024, o 14:41


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: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

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 ]
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 ]
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: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

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: 1020
Lokalizacja: Trójmiasto
Pomógł: 188

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 3 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