Kompiliren funktioniert nicht
Hallo, ich verzweifel fast!
Ich bin jetzt dabei zu versuchen das erste Beispielprogramm zu kompiliren (mit Programmers Notpad 2), aber es klappt einfach nicht!!!
Da kommt immer nur das:
> "make.exe" all
-------- begin --------
avr-gcc (WinAVR 20080610) 4.3.0
Copyright (C) 2008 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: RP6Base_LEDs.elf
avr-gcc -mmcu=atmega32 -I. -gdwarf-2 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=RP6Base_LEDs.o -I../../RP6lib -I../../RP6lib/RP6base -I../../RP6lib/RP6common -std=gnu99 -MD -MP -MF .dep/RP6Base_LEDs.elf.d RP6Base_LEDs.o ../../RP6lib/RP6base/RP6RobotBaseLib.o ../../RP6lib/RP6common/RP6uart.o --output RP6Base_LEDs.elf -Wl,-Map=RP6Base_LEDs.map,--cref -lm
RP6Base_LEDs.o: In function `main':
G:\Eigene Dateien\Jonas Müller\Roboter\RP6 Examples\RP6Examples\RP6BASE_EXAMPLES\Example_01_L EDs/RP6Base_LEDs.c:64: undefined reference to `setLEDs'
G:\Eigene Dateien\Jonas Müller\Roboter\RP6 Examples\RP6Examples\RP6BASE_EXAMPLES\Example_01_L EDs/RP6Base_LEDs.c:77: undefined reference to `setLEDs'
G:\Eigene Dateien\Jonas Müller\Roboter\RP6 Examples\RP6Examples\RP6BASE_EXAMPLES\Example_01_L EDs/RP6Base_LEDs.c:94: undefined reference to `setLEDs'
make.exe: *** [RP6Base_LEDs.elf] Error 1
> Process Exit Code: 2
> Time Taken: 00:02
Ich hab mich jetzt auch schon im Forum kundig gemacht, aber da steht immer nur was von Makefiles und son kram, aber ich weiß überhaupt nichts wies weiter gehen soll!!!
Könnt ihr mir denn nicht schritt für schritt sagen was ich machen muss???
Bitte helft mir!!!
Liste der Anhänge anzeigen (Anzahl: 1)
Hier ist das Programm:
Hoffe ihr könnt mir helfen!
Danke!
Liste der Anhänge anzeigen (Anzahl: 2)
@Driver:
Mmmm - ne das kann ja so nicht funktionieren.
1.
Der Eintrag im Makefile
TARGET = xxxxx
muss GENAU so heissen wie die Quelltextdatei (ohne .c hintendran).
Sonst findet der Compiler die Datei ja nicht - woher soll der Compiler wissen was in dem Ordner nun compiliert werden soll? (ein C Programm besteht im allgemeinen aus beliebig vielen Dateien und nicht nur aus einer einzigen)
Habe das mal korrigiert - aber schau Dir bitte an was ich genau geändert habe damit Du es verstehst! :)
Bitte in den Beispielordner entpacken - so wie im Screenshot gezeigt sollte das nachher aussehen!
2.
Oben hatte ich ja schon gesagt - Sonderzeichen.
Sonderzeichen in Dateinamen sind alles ausser A-Z, a-z, 0-9 und _ (Unterstrich)
ALLES andere gehört NICHT in Dateinamen und Pfadnamen rein.
Ganz besonders keine Leerzeichen!
äöü usw. geht normalerweise auch - aber Leerzeichen sind böse böse.
;)
Auch wenn das mit vielen Windows Programmen funktionieren mag, ist es für Entwicklungstools defintiv ein Problem - denn Leerzeichen werden in der Kommandozeile und in Makefiles als TRENNUNGSSYMBOL verwendet.
Also - Beispielprogramme entpacken - in einen Ordner OHNE LEERZEICHEN.
Wie der sonst heisst ist egal - anstatt eines Leerzeichens nimmt man halt nen Unterstrich - also c:\ich_bin_der_Ordnername_ohne_leerzeichen\
So - ich hoffe das hilft Dir :D
MfG,
SlyD
Liste der Anhänge anzeigen (Anzahl: 1)
Falls Du es nochmal mit Vista probieren willst, versuch mal die Datei im Anhang!
(wieder austauschen)
Hab mal grad selbst versucht die DLL zu rebasen. Ob das aber was bringt kann ich nicht testen, da es bei mir sowieso auf allen Rechnern funktioniert (auch auf der Vista Krücke).
Kann sein das wir da ein paar Versuche brauchen...