mikrocontroller.net

Forum: Compiler & IDEs Fehler beim versuch zu kompilieren


Autor: Jonas (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo ! Ich habe vorhin versucht Peter Fleuris Display Testprogramm zu
kompilieren!
Ich habe mir deshalb mal dieses Demo Projekt in der Dokumentation von
avr-libc angesehen ...

C:\lcd>C:\WinAVR\bin\avr-gcc.exe -g -Os -mmcu=at90s8515 -c
test_lcd.c

C:\lcd>C:\WinAVR\bin\avr-gcc.exe -g -mmcu=at90s8515 -o test_lcd.elf
test_lcd.o
test_lcd.o(.text+0x2c): In function `main':
C:\lcd/test_lcd.c:53: undefined reference to `lcd_init'
test_lcd.o(.text+0x2e):C:\lcd/test_lcd.c:61: undefined reference to
`lcd_clrscr'
test_lcd.o(.text+0x34):C:\lcd/test_lcd.c:64: undefined reference to
`lcd_puts'
test_lcd.o(.text+0x3a):C:\lcd/test_lcd.c:67: undefined reference to
`lcd_puts'
test_lcd.o(.text+0x40):C:\lcd/test_lcd.c:70: undefined reference to
`lcd_gotoxy'
test_lcd.o(.text+0x44):C:\lcd/test_lcd.c:73: undefined reference to
`lcd_putc'
test_lcd.o(.text+0x4a):C:\lcd/test_lcd.c:84: undefined reference to
`lcd_command'
test_lcd.o(.text+0x50):C:\lcd/test_lcd.c:87: undefined reference to
`lcd_puts'
test_lcd.o(.text+0x54):C:\lcd/test_lcd.c:97: undefined reference to
`lcd_clrscr'
test_lcd.o(.text+0x5a):C:\lcd/test_lcd.c:100: undefined reference to
`lcd_puts_p'
test_lcd.o(.text+0x60):C:\lcd/test_lcd.c:101: undefined reference to
`lcd_puts_p'
test_lcd.o(.text+0x64):C:\lcd/test_lcd.c:104: undefined reference to
`lcd_command'
test_lcd.o(.text+0x6a):C:\lcd/test_lcd.c:110: undefined reference to
`lcd_command'
test_lcd.o(.text+0x6c):C:\lcd/test_lcd.c:117: undefined reference to
`lcd_clrscr'
test_lcd.o(.text+0x86):C:\lcd/test_lcd.c:123: undefined reference to
`lcd_puts'

Doch das ist das Ergebnis ich habe das Projekt auch in den Dateianhang
geladen.

Was mache ich Falsch beim kompilieren ?

(MFG)

 jonas

Autor: Peter Fleury (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie compiliert du ?

Kopiere alle Dateien vom meiner Library in ein leerer Verzeichnis und
gebe auf DOS prompt 'make' ein !

Im File test_lcd.c fehlt noch folgendes Include File:
#include <stdlib.h>

>Ich habe mir deshalb mal dieses Demo Projekt in der Dokumentation von
>avr-libc angesehen ...
Was meinst Du damit:

P.S:
Anstelle meine Library als Anhang anzufügen, wäre ein Link auf meine
Homepage besser, dort findet sich eben auch eine Online-Doku:
http://homepage.sunrise.ch/mysunrise/pfleury/avr-s...

Was ein Make-Befehl ist steht hier:

Eine kompakte Einführung gibts im
http://www.avrfreaks.com/Tools/ToolFiles/376/insta...
oder allgemein für make:
http://rfhs8012.fh-regensburg.de/~opel/docs/makefiles.php

Autor: Jonas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hab ich jetzt gemacht trotzdem hab ich da noch einen Fehler drin und
zwar nimmt der riegendwie den PFAD von microsoft visual .net was ich
vor kurzem installiert habe

C:\lcd>make
c:\WinAVR\bin\avr-gcc test_lcd.o lcd.o C:\Programme\Microsoft
Visual Studio .NET
\FrameworkSDK\Lib\ -Wl,-Map=test_lcd.map,--cref -mmcu=at90s8515 -o
test_lcd.elf
avr-gcc: C:\Programme\Microsoft: No such file or directory
avr-gcc: Visual: No such file or directory
avr-gcc: Studio: No such file or directory
avr-gcc: .NET\FrameworkSDK\Lib -Wl,-Map=test_lcd.map,--cref: No such
file or dir
ectory
make: *** [test_lcd.elf] Error 1

C:\lcd>

da stimmt doch was nciht ?!?

Autor: Peter Fleury (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stelle sicher dass C:\winavr\bin und C:\winavr\utils\bin am ANFANGS
des PATH sind.

Autor: Jonas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was meinst du mit PATH ?
ich gehe mit dos promt dirket in das verz.
das ist auf C:\lcd

hab mal etwas herumprobiert und
DAS geändert:
CC  = c:\WinAVR\bin\avr-gcc
AS  = c:\WinAVR\bin\avr-gcc
RM  = c:\WinAVR\utils\bin\rm -f
RN  = c:\WinAVR\utils\bin\mv
CP      = c:\WinAVR\utils\bin\cp
BIN  = c:\WinAVR\bin\avr-objcopy
INCDIR  = c:\lcd

bringt aber auch nichts
was meinst du mit PATH?

Autor: Peter Fleury (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PATH = Pfad
Es eben nicht das im 'make' in \WINAVR\utils\bin sondern ein Make
von
Visual-Net.

Ohne die PATH Environemnt Variable zu korrigieren wird es nicht gehen.

Autor: Jonas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bei Path steht es am anfang wie du gesagt hast
aber bei INCLUSE,LIB und VSCOMNTOOLS steht etwas von.net drin

Autor: Jonas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
es GEHT !

microsoft.net hat die variablen überschrieben hab entfernt und winavr
neuinstalliert

Autor: Jonas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
DANKE

Autor: Peter Fleury (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gut das es geklapt hat.

Das Problem war dass mein Makefile die Environment Variable LIB, die
durch Visual.net gesetzt worden ist, benutzt.

Wenn auf Zeile 58 im Makefile $(LIB) ersatzlos gelöscht wird, sollte es
auch gehen wenn du Visual.net wieder installierst.

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.