LCD mit Peters Lib. Prob mit make file

Gast #364122
-------- 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 #364125
Kann es sein das wenn man die lcd.c im Prog einbindet das man sie dann
nicht mir in der makefile einbinden muss?

Hab jetzt keine fehlermeldung mehr stimmt das?

Gruß Daniel
Gast #364126
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

Eine eigene Frage? Dieser Thread ist über 20 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.