www.mikrocontroller.net

Forum: Compiler & IDEs __floatunsisf Fehler


Autor: Pete K. (pete77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bekomme beim Linken folgenden Fehler:

c:/winavr-20080512/bin/../lib/gcc/avr/4.3.0/../../../../avr/lib/avr5\lib 
c.a(floatsisf.o):  In function `__floatunsisf':
(.text.fplib+0x0): multiple definition of `__floatunsisf'
c:/winavr-20080512/bin/../lib/gcc/avr/4.3.0/avr5\libgcc.a(_usi_to_sf.o): 
(.text+0x0):  first defined here


Ich linke das Programm mit den Optionen: -Wl,-u,vfprintf -lprintf_flt 
-lm, weil ich floating point und sprintf brauche.

Ich benutze AVR Studio und einen ATMega644.

Ist das ein Bug oder ein Feature ?

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schreib mal die komplette Linker-Kommandozeile auf.

Autor: Pete K. (pete77)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Anbei das Makefile, welches von AVRStudio generiert wurde.

Autor: Pete K. (pete77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gleiches Fehlerbild zeigt sich bei der aktuellen WinAVR Version vom 
10.06.2008.

Autor: Pete K. (pete77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hochschieb

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Und warum antwortest du nicht, sondern stellst stattdessen neue
Forderungen?

> Schreib mal die komplette Linker-Kommandozeile auf.

...ist immer noch unbeantwortet.

Aber OK, wenn du schon zu faul bist, guck ich mir dein Makefile halt
an und lass die Glaskugel raten.  Die sagt mir, dass dein -lm zu weit
vorn steht und daher nicht (ausreichend) berücksichtigt wird.  Das
Thema hatten wir hier schon x-mal: die Reihenfolge der Objektmodule
und Bibliotheken auf der Linkerkommandozeile ist wichtig.

Du kannst libm.a wohl im AVR Studio manuell noch mit hinzufügen (ich
habe kein Windows, kann dir das also nicht genau sagen).

Besser wäre es noch, wenn sich endlich mal jemand dazu äußern könnte,
ob denn dieses Problem nun endlich in der nächsten Version von AVR
Studio, die es derzeit bereits als Beta gibt, behoben worden ist.  Das
müsste aber mal jemand ausprobieren, der auch Windows besitzt -- also
nicht ich.

Autor: Pete K. (pete77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh, ich dachte mit dem Makefile hätte sich die Anfrage erledigt.

Autor: Pete K. (pete77)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Das manuelle Hinzufügen der Libm.a in der Library Option im AVR Studio 
hat geholfen, der Fehler tritt nicht mehr auf. Vielen Dank für den 
Hinweis.

Sorry für die Störung, war mein Fehler.

Anbei das neue makefile, welches funktioniert.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun musst du nur noch bitte ausprobieren, ob das neue Beta von AVR
Studio die libm.a selbst hinzu fügt...

Autor: Pete K. (pete77)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe die Version 4.15. Build 619 heruntergeladen. Nein, die libm.a 
wird leider auch hier nicht automatisch hinzugefügt.

Autor: Jojo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Also ich benutze im Moment die (aktuelle?) 4.16er Version von AVR Studio 
und da wird bei einem Projekt, wo es um einen SHT-Sensor geht, die 
libm.a auch NICHT automatisch eingefügt. Nur so zur Info ;)...

Autor: Guido (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In der Version 4.18 wird libm.a weiterhin NICHT automatisch eingefügt.

Autor: Kant (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Version 5.0: Im Westen nichts neues.

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.
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.

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