Du hast entweder die Files nicht im gleichen Verzeichnis oder nicht im makefile eingetragen.
hi ich hab ejetzt zum geburtstag den rp6 bekommen und habe auch winavr installiert jetzt hab ich aber bei den ersten make versuchen ein problem
kann mir jemand helfen.
Danke
> "make"
-------- begin --------
avr-gcc (WinAVR 20090313) 4.3.2
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.
Compiling: RP6Base_LEDs.c
avr-gcc -c -mmcu=atmega32 -I. -gdwarf-2 -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=RP6Base_LEDs.lst -I../../RP6Lib -I../../RP6Lib/RP6base -I../../RP6Lib/RP6common -std=gnu99 -MD -MP -MF .dep/RP6Base_LEDs.o.d RP6Base_LEDs.c -o RP6Base_LEDs.o
../../RP6Lib/RP6base/RP6RobotBaseLib.h:196: warning: inline function 'isMovementComplete' declared but never defined
../../RP6Lib/RP6base/RP6RobotBaseLib.h:75: warning: inline function 'setLEDs' declared but never defined
../../RP6Lib/RP6base/RP6RobotBaseLib.h:196: warning: inline function 'isMovementComplete' declared but never defined
../../RP6Lib/RP6base/RP6RobotBaseLib.h:75: warning: inline function 'setLEDs' declared but never defined
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':
c:\users\martinius\desktop\rp6examples\rp6base_exa mples\Example_01_LEDs/RP6Base_LEDs.c:64: undefined reference to `setLEDs'
c:\users\martinius\desktop\rp6examples\rp6base_exa mples\Example_01_LEDs/RP6Base_LEDs.c:77: undefined reference to `setLEDs'
c:\users\martinius\desktop\rp6examples\rp6base_exa mples\Example_01_LEDs/RP6Base_LEDs.c:94: undefined reference to `setLEDs'
make: *** [RP6Base_LEDs.elf] Error 1
> Process Exit Code: 2
> Time Taken: 00:01 [/code]
Du hast entweder die Files nicht im gleichen Verzeichnis oder nicht im makefile eingetragen.
Der Name des *.c file im makefile eingetragen?
In das makefile musst du das a1 eintragen.
Bei meinen alten makefiles sieht das so aus
Ich arbeite allerdings jetzt mit dem AVR-Studio, da brauche ich kein makefile.Code:# MCU name MCU = atmega8 # Output format. (can be srec, ihex, binary) FORMAT = ihex # Target file name (without extension). TARGET = a1
Öffne einmal das Makefile mit dem Editor und schau nach was bei TRG steht. Da sollte normalerweise der Name der C-Datei stehen, aber ohne die Endung *.c. Wenn du jetzt z.B. als Datei mit dem Hauptteil (main) die Datei "Test.c" hast muss in der makefile "TRG = Test" stehen.
MfG Hannes
Normalerweiße erzeugt AVR Studio das Makefile selbst. Probleme kann es geben, wenn man andere Libs verwendet. Ich verwende z.B. AVRlib, da muss ich die Makefile immer in den Projektordner kopieren und von Hand ändern. Ob du das so machen musst weiß ich aber nicht.
PS: Im Artikelbereich gibt es einen Artikel von der Installation und Anwendung der AVRlib http://www.rn-wissen.de/index.php/In...ung_von_avrlib
MfG Hannes
Lesezeichen