Forum: Compiler & IDEs __floatunsisf Fehler


von Pete K. (pete77)


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 ?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Schreib mal die komplette Linker-Kommandozeile auf.

von Pete K. (pete77)


Angehängte Dateien:

Lesenswert?

Anbei das Makefile, welches von AVRStudio generiert wurde.

von Pete K. (pete77)


Lesenswert?

Gleiches Fehlerbild zeigt sich bei der aktuellen WinAVR Version vom 
10.06.2008.

von Pete K. (pete77)


Lesenswert?

hochschieb

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


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.

von Pete K. (pete77)


Lesenswert?

Oh, ich dachte mit dem Makefile hätte sich die Anfrage erledigt.

von Pete K. (pete77)


Angehängte Dateien:

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.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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

von Pete K. (pete77)


Lesenswert?

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

von Jojo (Gast)


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

von Guido (Gast)


Lesenswert?

In der Version 4.18 wird libm.a weiterhin NICHT automatisch eingefügt.

von Kant (Gast)


Lesenswert?

Version 5.0: Im Westen nichts neues.

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.