Forum: Compiler & IDEs Atmel Studio 7 Linker Error error: undefined reference to `_read' und `_write'


von Jürgen M. (mheimer)


Lesenswert?

Hallo,

seit einiger Zeit spinnt das Atmel Studio 7.0 bei mir total.
Sei es beim Erzeugen eines neuen Projekts, wie Visual Studio out of 
Cache oder überhaupt bei der Erstellung der ASF-Verzeichnisstruktur.
Nun habe ich aber ein neues, nicht nachvollziehbare Problem:

Das Einfügen eines einfachen Ausgabebefehls, wie z.B. puts("Hallo"); 
führt beim Build zu Linkerfehlern :
error: undefined reference to `_read'
und
error: undefined reference to `_write'

In älteren Projekten mit denselben Programmzeilen bekomme ich die Fehler 
nicht.
Ich kenne mich leider nicht mit den internen Strukturen der 
Compiler/Linker aus, deshalb nehme ich ja die Atmel IDE, und kann mir 
leider keinen Reim bilden, was nun plötzlich anders ist, auf jeden Fall 
kann ich so keine neuen Projekte erstellen, zumindest nicht für SAM 
Controller, bei AvR Controller Projekten habe ich die Fehler nicht.

von Löser (Gast)


Lesenswert?

Das sind die low level library Funktionen, zur Ausgabe. Die musst du 
definieren und darin z.B. Auf die Uart schreiben.

von Kaj G. (Firma: RUB) (bloody)


Lesenswert?


von Jürgen M. (mheimer)


Lesenswert?

Danke für die Antworten. Leider hilft mir das nicht wirklich weiter, da 
ich nicht begreife, dass ein älteres Projekt mit den selben Aufrufen 
fehlerfrei kompiliert wird und neu nicht.
Ich habe auch schon Atmel Studio neu installiert, weiss wirklich nicht 
was passiert ist oder ich falsch mache.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Sieh Dir die Linkeroptionen an, sieh Dir die Kommandozeile an, mit der 
der Linker aufgerufen wird.

Wenn es da keinen Unterschied zwischen alten und neuen Projekten gibt, 
sieh Dir die Kommandozeile des Compileraufrufs an.

In einem von beidem verbirgt sich der Unterschied. Entweder werden 
andere Libraries verwendet oder aber bestimmte vordefinierte Symbole 
sind unterschiedlich.

von Jürgen M. (mheimer)


Lesenswert?

ICH BIN JA EIN HORNOCHSE ;-)

Habe das Problem gefunden:

Ich hatte die Standard serial I/O (stdio)(driver) im ASF Wizard nicht 
eingebunden, dann kann es ja nicht gehen.

Ich bitte also hiermit um Entschuldigung mir meiner naiven Frage, aber 
wenn man ein Brett vor dem Kopf hat, sieht man den Wald vor lauter 
Bäumen nicht.

Alsi Nichts für Ungut, einen guten Rutsch und viel Erfolg im Jahr 2018

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.