www.mikrocontroller.net

Forum: Compiler & IDEs LCD mit Peters Lib. Prob mit make file


Autor: Daniel H. (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Günni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Daniel,

ich würde mal die <> gegen "" austauschen beim lcd.h. Befindet sich
doch sicherlich auch im Projektverzeichnis.

Grüße
Günni

Autor: Daniel H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das hab ich eben mal versucht aber bringt nix.

Kann es auch nicht da er das Problem mit der lcd.c hat.

Noch jemand nee Idee?

Autor: Daniel H. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.