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