Forum: Compiler & IDEs Fehler beim versuch zu kompilieren


von Jonas (Gast)


Angehängte Dateien:

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

von Peter Fleury (Gast)


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-software.html#libs

Was ein Make-Befehl ist steht hier:

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

von Jonas (Gast)


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 ?!?

von Peter Fleury (Gast)


Lesenswert?

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

von Jonas (Gast)


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?

von Peter Fleury (Gast)


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.

von Jonas (Gast)


Lesenswert?

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

von Jonas (Gast)


Lesenswert?

es GEHT !

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

von Jonas (Gast)


Lesenswert?

DANKE

von Peter Fleury (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.