PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : compiling error mit eclipse



tortelini66
11.10.2010, 10:28
Hi Leute,
ich habe ein großes Problem, und zwar wollte ich jetzt mal mit eclipse meinen asuro programmieren, und habe den avr dingsbums über install new software erfolgreich eingebunden.
Danach habe ich in einem test projekt noch schnel asuro.h eingebunden, und konnte das programm dann ohne errors compilieren, naja ein error ist geblieben und zwar ist das der error : make:*** [test.elf] Error 1


Ich hab im Netz nichts gefunden, und möchte doch so gerne mein programm aufspielen *schnief*


MfG tortelini66

markusj
11.10.2010, 12:34
Wie wäre es wenn du Mal die vollständige Ausgabe im Konsolenfenster hier einstellst - die Fehlermeldung sagt so nichts aus.

mfG
Markus

tortelini66
11.10.2010, 20:25
wenn hilft, hier die console:



**** Build of configuration Release for project test ****

make all
Building file: ../test.c
Invoking: AVR Compiler
avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega8 -DF_CPU=8000000UL -MMD -MP -MF"test.d" -MT"test.d" -c -o"test.o" "../test.c"
Finished building: ../test.c

Building target: test.elf
Invoking: AVR C Linker
avr-gcc -Wl,-Map,test.map -mmcu=atmega8 -o"test.elf" ./test.o
./test.o(.text+0x8): In function `main':
: undefined reference to `Init'
./test.o(.text+0xc): In function `main':
: undefined reference to `FrontLED'
./test.o(.text+0x12): In function `main':
: undefined reference to `LineData'
./test.o(.text+0x18): In function `main':
: undefined reference to `LineData'
./test.o(.text+0x1e): In function `main':
: undefined reference to `LineData'
./test.o(.text+0x24): In function `main':
: undefined reference to `LineData'
./test.o(.text+0x104): In function `main':
: undefined reference to `StatusLED'
./test.o(.text+0x10a): In function `main':
: undefined reference to `LineData'
./test.o(.text+0x32c): In function `main':
: undefined reference to `BackLED'
./test.o(.text+0x362): In function `main':
: undefined reference to `StatusLED'
./test.o(.text+0x368): In function `main':
: undefined reference to `MotorSpeed'
make: *** [test.elf] Error 1

TobiKa
11.10.2010, 20:52
Er sagt damit das du Funktionen benutzt die er nicht kennt. Also wohl ne .H nicht richtig includiert.

markusj
11.10.2010, 20:58
Da fehlt noch mehr - Er bemängelt vor allem dass ihm die Funktionen selbst fehlen.
Ich möchte fast wetten dass die asuro.c fehlt.

mfG
Markus

tortelini66
11.10.2010, 21:09
und wie includier ich sie richtig?

markusj
11.10.2010, 22:27
Eigentlich reicht es, wenn asuro.c und asuro.h im Projektverzeichnis liegen, (also da wo auch dein Quelltext untergebracht ist), Eclipse sollte dann alles zusammen compilieren. Einfach in den Ordner reinkopieren reicht (und evtl. in Eclipse noch das Projekt markieren und einmal F5 drücken)

mfG
Markus

atlas85
09.12.2012, 21:35
Hallo.

Ich bin erst auf C umgestiegen und nutze hierzu eclipse. Nach dem ich es geschafft habe 2 LED's blinken zu lassen, dachte ich mir dass wohl alles soweit funktioniert... Nachdem ich mein Projekt portiert habe (TSIC Temperatursensor auslesen) und STRG+B drückte, kam der oben beschriebene Fehler... in Verschiedenen Foren wird hierüber geschrieben, also habe ich einiges versucht, aber leider ohne Erfolg. Nach der dritten neuinstallation (Eclipse, winavr und avrgcc) habe cih das Tutorial (http://www.wiki.elektronik-projekt.de/mikrocontroller/avr/avr_eclipse_tutorial_part_2) abgehandelt.
Leider mit dem selben Ergebnis:

Description Resource Path Location Type
make: *** [Tutorial.elf] Error 1 C/C++ Problem

und der Console Auszug:

21:32:14 **** Incremental Build of configuration Release for project Tutorial ****
make all
Building file: ../main.c
Invoking: AVR Compiler
avr-gcc -Wall -Os -fpack-struct -fshort-enums -std=gnu99 -funsigned-char -funsigned-bitfields -mmcu=atmega8 -DF_CPU=8000000UL -MMD -MP -MF"main.d" -MT"main.d" -c -o "main.o" "../main.c"
Finished building: ../main.c

Building target: Tutorial.elf
Invoking: AVR C Linker
avr-gcc -Wl,-Map,Tutorial.map -mmcu=atmega8 -o "Tutorial.elf" ./main.o
Finished building target: Tutorial.elf

Invoking: AVR Create Extended Listing
avr-objdump -h -S Tutorial.elf >"Tutorial.lss"
Finished building: Tutorial.lss

Create Flash image (ihex format)
avr-objcopy -R .eeprom -O ihex Tutorial.elf "Tutorial.hex"
Finished building: Tutorial.hex

Create eeprom image (ihex format)
avr-objcopy -j .eeprom --no-change-warnings --change-section-lma .eeprom=0 -O ihex Tutorial.elf "Tutorial.eep"
Finished building: Tutorial.eep

Invoking: Print Size
avr-size --format=avr --mcu=atmega8 Tutorial.elf
AVR Memory Usage
----------------
Device: atmega8


Program: 62 bytes (0.8% Full)
(.text + .data + .bootloader)


Data: 0 bytes (0.0% Full)
(.data + .bss + .noinit)




Finished building: sizedummy



21:32:19 Build Finished (took 5s.700ms)


__________________________________________________ ____________________

Wie bekomme ich diesen *.elf Fehler aus meiner Anwendung?
Seit dem ich den Fehler das erste mal hatte, ist er in jedem Projekt.

Danke für die Hilfe

markusj
10.12.2012, 09:06
Du hast ein anderes Problem das eigentlich in einen neuen Thread gehört hätte.

Der Build funktioniert scheinbar, zumindest sieht das Protokoll normal aus. Warum du trotzdem diese Fehlermeldung bekommst, kann ich dir ohne weitere Informationen nicht sagen. Welche Programmversionen (Eclipse, avr-eclipse, gcc) verwendest du? Ach ja: Führe den Build-Vorgang einmal komplett neu aus, dazu gibt es im Build-Menü den Punkt "clean", vielleicht ist dann mehr im Protokoll zu erkennen.

mfG
Markus