Forum: Compiler & IDEs Eclipse Avr- undefined reference to 'main'


von Marti (Gast)


Lesenswert?

Hallo,

Ich bin mir bewusst dass das Problem hier schon des öfteren im Forum 
aufgetaucht ist, ich konnte aber bisher in keinem Thread eine Lösung für 
meinen Fall finden.

Ich habe nach Installation der offiziellen toolchain und Konfiguration 
von Eclipse Mars (unter Xubuntu 14.04) ein dummy-AVR-projekt angelegt. 
Folgender code steht in der main.c Datei:
1
#include<avr/io.h>
2
3
int main(void) {
4
5
    while(1);
6
    return 0;
7
}

Nach der Ausführung von "Build All" erscheint in der Konsole die Meldung
1
[...]
2
3
Invoking: AVR C Linker
4
avr-gcc -Wl,-Map,Test.map -mmcu=atmega88 -o "Test.elf"  ./main.o
5
/home/***/avr-tools/avr8-gnu-toolchain-linux_x86_64/bin/../lib/gcc/avr/4.8.1/../../../../avr/lib/avr4/crtm88p.o:(.init9+0x0): undefined reference to 'main'
6
collect2: error: ld returned 1 exit status
7
make: *** [Test.elf] Error 1

Also liegt wohl ein Problem beim Linken vor. Hat jemand eine Idee was 
diesen Fehler verursachen könnte?

von Marti (Gast)


Lesenswert?

Oh Mann, ich glaub ich habs.
So wies aussieht muss man einfach alle source files abspeichern bevor 
man "Build all" anwendet.

von Ingo L. (corrtexx)


Lesenswert?

Macht er das nicht automatisch vorm "builden"???

von Tobias .. (bitfehler)


Lesenswert?

Zumindest bei mir macht er das nicht automatisch.

Würde mich aber auch interessieren, wie man ihm das beibringen kann.

von N. G. (newgeneration) Benutzerseite


Lesenswert?

Hallo,

in eclpise ist es eigentlich ganz einfach:

Window -> Preferences
Dann im Suchfeld nach "save" suchen
In den Ergebnissen ist ein Punkt General -> Workspace
Bei diesem Punkt auf der rechten Seite ist ein Kästchen "Save 
automatically before build"

Sollte den Zweck erfüllen

von Max B. (theeye)


Lesenswert?

Das Plugin läuft bei dir mit der neusten eclipse Version? Ich habe das 
bisher nur (irgendwann...) mit eclipse Indigo geschafft (die jetzt auch 
wieder irgendeine Macke hat...).

Wie bist du vorgegangen?

Gruß Max

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.