mikrocontroller.net

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


Autor: Jürgen M. (mheimer)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Löser (Gast)
Datum:

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

Autor: Kaj G. (Firma: RUB) (bloody)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Jürgen M. (mheimer)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Jürgen M. (mheimer)
Datum:

Bewertung
0 lesenswert
nicht 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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.