Nich lösbarer Fehler bei Build

OP #2128335
Lesenswert?
• ▲
▼
#include "asuro.h"

int main()
{
  Init();
  while (1==1)
  {
    MotorSpeed (90,90);
  }
}

Hallo,
wenn ich das oben gezeigte Programm compiliere tritt keine Fehlermeldung 
auf, jedoch wenn ich build mache, kommt immer eine Fehlermeldung, an der 
ich jetzt schon seit langer Zeit scheitere:
c:/winavr-20100110/bin/../lib/gcc/avr/4.3.3/../../../../avr/lib/avr4/crt 
m8.o:(.init9+0x0):  undefined reference to `main'
make: *** [MotorenTest1.elf] Error 1
Ich habe die asuro.c und die asuro.h jedoch richtig eingebunden.
Bitte helft mir, mein Problem zu lösen!

LG Oliver
Gast #2128945
Lesenswert?
• ▲
▼
Oliver Müller schrieb:
> ich hab die asuro.h mit:
> #include "asuro.h"
> eingebunden und die asuro.c zu den source files hinzu gefügt.
> Oder ist mit ein Fehler unterlaufen?

Scheinbar nicht bei der asuro.h, aber wenn der gezeigte Code in asuro.c 
steht wird das File entweder nicht mitcompiliert oder nicht mitgelinkt. 
Oder versehentlich als C++ compiliert (Name Mangling)?

Sagt jedenfalls die Fehlermeldung: der Startcode (was meiner Meinung 
nach "crtm8.o" ist) ruft main() auf - die nicht zu finden ist.

Prüf das nochmal sorgfältig, Du solltest auch irgendwie die wirklichen 
Aufrufe des Compilers sichtbar machen können - da sieht man die 
verwendeten Files.
Moderator #2129091
Lesenswert?
• ▲
▼
Oliver Müller schrieb:
> ich hab die asuro.h mit:
> #include "asuro.h"
> eingebunden und die asuro.c zu den source files hinzu gefügt.

Aber hast du auch die .c-Datei mit dem oben geposteten Code zu den
Source-Files hinzugefügt? Wenn nicht, fehlt dem Gesamtprogramm die
main-Funktion, und der Linker weist dich mit einer "undefined reference
to `main'" darauf hin.

Da erst der Linker die einzelnen Funktionen zu einem lauffähigen
Gesamtprogramm zusammenbaut, tritt der Fehler beim Kompilieren der
Einzeldatei noch nicht auf.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.