Fehler beim versuch zu kompilieren

Gast #75753
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
Angehängte Dateien:
Gast #75754
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
Gast #75755
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 ?!?
Gast #75757
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?
Gast #75762
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren