mikrocontroller.net

Forum: Compiler & IDEs atof("123.34") will nicht ERROR?


Autor: tobiTob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

nun ich habe eine Zeichenkette die ich im GGC mit atof in einen double 
Wert konvertieren will.

g_dou = atof(g_buftmp);


Wenn ich nun auf compilieren drücke kommt:

gcc plug-in: Error: Object file not found on expected location 
D:\Atmel\C\HelloWorld\default\HelloWorld.elf


Build started 25.7.2007 at 10:18:10
c:/winavr-20070525rc2/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\ 
libc.a(floatsisf.o):  In function `__floatsisf':
(.text.fplib+0x4): multiple definition of `__floatsisf'
c:/winavr-20070525rc2/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_si_to_sf.o 
):(.text+0x0):  first defined here
c:/winavr-20070525rc2/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\ 
libc.a(fixsfsi.o):  In function `__fixunssfsi':
(.text.fplib+0x0): multiple definition of `__fixsfsi'
c:/winavr-20070525rc2/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_sf_to_si.o 
):(.text+0x0):  first defined here
c:/winavr-20070525rc2/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\ 
libc.a(fixsfsi.o):  In function `__fixunssfsi':
(.text.fplib+0x0): multiple definition of `__fixunssfsi'
c:/winavr-20070525rc2/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_fixunssfsi 
.o):(.text+0x0):  first defined here
make: *** [HelloWorld.elf] Error 1
Build succeeded with 0 Warnings...


Ähm was ist daran falsch?

Gruß Tobi...

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

Bewertung
0 lesenswert
nicht lesenswert
Du brauchst -lm beim Linken.  Die sollte man eigentlich immer mit dabei
haben.

Autor: tobiTob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Jörg,

ok jetzt compiliert er es durch, was macht das -lm ?

Gruß Tobi...

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

Bewertung
0 lesenswert
nicht lesenswert
Es linkt mit libm.a, der Floatingpoint-Library.

Autor: tobiTob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja ok das hat er wohl auch gemacht aber das AVR Studio meint dann immer 
noch...

gcc plug-in: Error: Object file not found on expected location
D:\Atmel\C\HelloWorld\default\HelloWorld.elf

Habe mir erstmal damit geholfen das ich den double Wert "von Hand" 
berechne. Hmm nur interessant wäre es denoch warum er immer noch 
meckert...


MfG Tobi...

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

Bewertung
0 lesenswert
nicht lesenswert
> gcc plug-in: Error: Object file not found on expected location

Da hat AVR Studio nicht geschnallt, dass deine Compilierung fehlerhaft
war.  Guck mal in den Messages nach, was die Ursache ist.

Autor: tobiTob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das kommt bei den messages heraus...

Build started 26.7.2007 at 15:35:27
avr-gcc.exe -I"D:\Atmel\C\C-HelloWorld\."  -mmcu=atmega644 -Wall 
-gdwarf-2 -DF_CPU=18432000UL -Os -funsigned-char -funsigned-bitfields 
-MD -MP -MT C-HelloWorld.o -MF dep/C-HelloWorld.o.d  -c 
../C-HelloWorld.c

../C-HelloWorld.c: In function 'main':
avr-gcc.exe -mmcu=atmega644  -Wl,-section-start=.crcsection=0xeff0 
C-HelloWorld.o   -L"D:\Atmel\C\C-HelloWorld\."   -o C-HelloWorld.elf
c:/winavr-20070525rc2/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\ 
libc.a(floatsisf.o):  In function `__floatsisf':
(.text.fplib+0x4): multiple definition of `__floatsisf'
c:/winavr-20070525rc2/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_si_to_sf.o 
):(.text+0x0):  first defined here
c:/winavr-20070525rc2/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\ 
libc.a(fixsfsi.o):  In function `__fixunssfsi':
(.text.fplib+0x0): multiple definition of `__fixsfsi'
c:/winavr-20070525rc2/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_sf_to_si.o 
):(.text+0x0):  first defined here
c:/winavr-20070525rc2/bin/../lib/gcc/avr/4.1.2/../../../../avr/lib/avr5\ 
libc.a(fixsfsi.o):  In function `__fixunssfsi':
(.text.fplib+0x0): multiple definition of `__fixunssfsi'
c:/winavr-20070525rc2/bin/../lib/gcc/avr/4.1.2/avr5\libgcc.a(_fixunssfsi 
.o):(.text+0x0):  first defined here
make: *** [C-HelloWorld.elf] Error 1
Build succeeded with 8 Warnings...


Mir sagt das nix... irgendwas klemmt aber...
Gruß Tobi...

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

Bewertung
0 lesenswert
nicht lesenswert
Du hast schon wieder das -lm vergessen...

Autor: tobiTob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Jörg,

war letzten Tage nicht daheim...

hmm also ich habe es mehrmals eingetragen keine Ahnung was ich falsch 
mache.

Ich habe nun "-lm" im Setup aufgenommen unter "all files" was sicher ok 
ist.

Es klappt noch immer nicht... :-(

avr-gcc.exe: -lm: linker input file unused because linking not done

Kannst du das mal Schritt für Schritt erklären was zu tun ist büdde

MfG Tobi...

Autor: tobiTob (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok Lösung gefunden...

unter AVR Studio geht das alles etwas anders...

-lm nicht einfach bei linker optionen eintragen!
Auf der Seite libraries die libm.a datei auswählen und add object 
machen.

Dann klappt es hier auch... danke nochmal!

Gruß Tobi...

Autor: Björn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte gerade das gleiche Problem.

Bevor noch einmal jemand versucht "Add Objects..." zu benutzen -
Benutzt lieber "Add Library...", dann klappt der Tip auch super!

Auf jeden Fall hat mir das Topic einen schweres Problem beseitigt, 
juuhuuuu

Schönen Samstag noch an Alle
Björn

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.