PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : AVR Studio kennt atof() nicht!



Maverick83
08.11.2006, 20:21
Hallo Zusammen

Da mir letzte Woche das AVR Studio als C Entwicklungsumgebung empfohlen wurde bin ich gerade daran meinen C Code den ich im WinAVR geschriebn habe anzupassen.

Ich verwende im Code die Funktion atof(..) und habe zu beginn die stdlib included.
Nun leider motzt der Compiler:

48: undefined reference to `atof'

Wo muss ich was noch hinzufügen, dass er das begreift?

Unter "Extended Tools" ist das häckchen bei WinAVR an dem kann es also nicht liegen.

Danke für Eure Hilfe

gunzelg
08.11.2006, 20:43
Hallo

ich kenn mich mit AVR-Studio nicht aus. Aber allgemein ist es so, dass es irgendwo ein Verzeichnis gibt, in dem alle h-Files stehen. Das sind Text-Dateien. Schau doch da drinnen mal nach, ob es da atof überhaupt gibt. Wenn ja, weiss du dann gleich, welches h-File du brauchst.

(Ich arbeite mit den PIC's unter C. Da hab ich mal nachgeschaut, da steht atof schon in der stdlib.h definiert. )


Gerhard

Maverick83
08.11.2006, 21:21
Hallo Gerhard

Ich habe nachgeschaut, in der stdlib.h gibt es die Funktion atof und unter "External Dependencies" ist sie auch aufgeführt.
Das komische ist, dass der Code unter WinAVR funktioniert.

gunzelg
09.11.2006, 06:03
Hallo

fehlt vielleicht das

#include <stdlib.h>

in deinem Quellcode ?

Gerhard

Maverick83
09.11.2006, 07:36
ja das habe ich, sonst hätte es im WinAVR auch nicht funktioniert.

gunzelg
09.11.2006, 08:11
Evtl stimmt ja dein Aufruf nicht mit dem prototypen überein. Wie lautet denn dein Aufruf der Funktion ?

Ansonsten, kennst du
http://www.mikrocontroller.net/forum/1

Da sitzen die AVR-Profis

Tja, sorry, wenn das nichr hilft, dann muss ich passen.


Gerhard

Gerdchen
09.11.2006, 13:11
Hallo zusammen!

Ich kann mich irren, aber ich kenne das AVR Studio nur als Assembler-Entwicklungsumgebung. Ich benutze es ja selbst."atof" ist aber eine C-Funktion, welche einen String in eine Gleitkommazahl konvertiert.
Mehr fällt mir im Moment dazu nicht ein.

MfG Gerd...

SprinterSB
09.11.2006, 13:31
Das muss so gehen wie du es gemacht hast.

http://www.nongnu.org/avr-libc/user-manual/group__avr__stdlib.html

Evtl findet er die falsche stdlib.h? Extra Bibliotheken brauchst du jedenfalls nicht einzubinden.

Geht es in avr-gcc? Dazu per console ins Verzeichnis stellen wo dein Makefile steht und 'make' aufrufen.