LCD mit Peters Lib. Prob mit make file

Gast #364122
Lesenswert?
• ▲
▼
-------- begin --------
avr-gcc (GCC) 3.4.3
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.


Linking: Bild.elf
avr-gcc -mmcu=atmega8 -I. -gstabs -DF_CPU=8000000UL  -O0
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=E:/Projekte/Bild/Bild.o  -std=gnu99 -MD
-MP -MF .dep/Bild.elf.d E:/Projekte/Bild/Bild.o E:/Projekte/Bild/lcd.o
--output Bild.elf -Wl,-Map=Bild.map,--cref    -lm
E:/Projekte/Bild/lcd.o(.text+0x41c): In function `lcd_command':
E:/Projekte/Bild/lcd.c:336: multiple definition of `lcd_command'
E:/Projekte/Bild/Bild.o(.text+0x41c):E:/Projekte/Bild/lcd.c:336: first
defined here
E:/Projekte/Bild/lcd.o(.text+0x44c): In function `lcd_data':
E:/Projekte/Bild/lcd.c:348: multiple definition of `lcd_data'
E:/Projekte/Bild/Bild.o(.text+0x44c):E:/Projekte/Bild/lcd.c:348: first
defined here
E:/Projekte/Bild/lcd.o(.text+0x47c): In function `lcd_gotoxy':
E:/Projekte/Bild/lcd.c:362: multiple definition of `lcd_gotoxy'
E:/Projekte/Bild/Bild.o(.text+0x47c):E:/Projekte/Bild/lcd.c:362: first
defined here
E:/Projekte/Bild/lcd.o(.text+0x4be): In function `lcd_getxy':
E:/Projekte/Bild/lcd.c:389: multiple definition of `lcd_getxy'
E:/Projekte/Bild/Bild.o(.text+0x4be):E:/Projekte/Bild/lcd.c:389: first
defined here
E:/Projekte/Bild/lcd.o(.text+0x4d0): In function `lcd_clrscr':
E:/Projekte/Bild/lcd.c:398: multiple definition of `lcd_clrscr'
E:/Projekte/Bild/Bild.o(.text+0x4d0):E:/Projekte/Bild/lcd.c:398: first
defined here
E:/Projekte/Bild/lcd.o(.text+0x4e2): In function `lcd_home':
E:/Projekte/Bild/lcd.c:407: multiple definition of `lcd_home'
E:/Projekte/Bild/Bild.o(.text+0x4e2):E:/Projekte/Bild/lcd.c:407: first
defined here
E:/Projekte/Bild/lcd.o(.text+0x4f4): In function `lcd_putc':
E:/Projekte/Bild/lcd.c:418: multiple definition of `lcd_putc'
E:/Projekte/Bild/Bild.o(.text+0x4f4):E:/Projekte/Bild/lcd.c:418: first
defined here
E:/Projekte/Bild/lcd.o(.text+0x570): In function `lcd_puts':
E:/Projekte/Bild/lcd.c:466: multiple definition of `lcd_puts'
E:/Projekte/Bild/Bild.o(.text+0x570):E:/Projekte/Bild/lcd.c:466: first
defined here
E:/Projekte/Bild/lcd.o(.text+0x5b2): In function `lcd_puts_p':
E:/Projekte/Bild/lcd.c:483: multiple definition of `lcd_puts_p'
E:/Projekte/Bild/Bild.o(.text+0x5b2):E:/Projekte/Bild/lcd.c:483: first
defined here
E:/Projekte/Bild/lcd.o(.text+0x602): In function `lcd_init':
E:/Projekte/Bild/lcd.c:502: multiple definition of `lcd_init'
E:/Projekte/Bild/Bild.o(.text+0x602):E:/Projekte/Bild/lcd.c:502: first
defined here
make.exe: *** [Bild.elf] Error 1

> Process Exit Code: 2

So mein Prob ist die multiple definition. Das Problem stammt aus der
lcd.c aber an der hab ich garnichts gemacht sondern nur eingebunden.
Die lcd.h hab ich entsprechend angepasst. Prog ist im Anhang

Auserdem würde ich gerne wissen ob man R/W braucht da ich ja nur
schreiben will oder nutzt die lib von Peter Fleury die unbedingt?

Ich hasse es mich mit etwas nicht auszukennen :(.

MFG
Daniel
Angehängte Dateien:
Gast #364126
Lesenswert?
• ▲
▼
Eigentlich sollte die lcd.c im Makefile stehen. In deinem Programm
includierst du eigentlich nur die Headerdatei damit dem Compiler die
Funktionen beim Übersetzen bekannt sind.
Ergänze doch mal in deinem Makefile folgende Stelle:

# List C source files here. (C dependencies are automatically
generated.)
SRC = $(TARGET).c lcd.c

um das lcd.c
In deinem Hauptprogramm brauchst du dann nur noch die .h einbinden. So
ist es eigentlich korrekt.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.