Forum: Compiler & IDEs gcc plug-in: Error: Object file not found on expected locati


von Matthias (Gast)


Lesenswert?

Hi,

seitdem ich die atoi() und itoa() Funktionen verwenden will, bekomme ich 
nach dem Compilen immer:

gcc plug-in: Error: Object file not found on expected location

Habe schon ein bissal gegoogelt  und folgende Einstellungen im AVR 
Studio gemacht. Im Linker habe ich "-lm" eingetragen und unter Libraries 
die libm.a hinzugefügt.

Bin am Verzweifeln ;-(((

von Johannes M. (johnny-m)


Lesenswert?


von Karl H. (kbuchegg)


Lesenswert?

> seitdem ich die atoi() und itoa() Funktionen verwenden will, bekomme ich
> nach dem Compilen immer:
>
> gcc plug-in: Error: Object file not found on expected location

Meistens ist das ein Hinweis darauf, dass es während des
compilierens einen Fehler gab.

von Matthias (Gast)


Lesenswert?

Es gibt diesen Fehler wenn ich globale Variablen, die auch volatile 
sind, von der c. Source Datei in die header Datei verlagere um auf diese 
Dateien auch von einer anderen c.Source Datei zuzugreifen. Frage ist 
Warum ??

von Johannes M. (johnny-m)


Lesenswert?

Matthias wrote:
> Es gibt diesen Fehler wenn ich globale Variablen, die auch volatile
> sind, von der c. Source Datei in die header Datei verlagere um auf diese
> Dateien auch von einer anderen c.Source Datei zuzugreifen. Frage ist
> Warum ??
Wie "verlagerst" Du diese Variablen denn? Du weißt hoffentlich, dass 
eine Variable in einem Programm nur genau EINMAL deklariert werden 
darf? In die .h-Datei gehören eigentlich nur "extern"-Deklarationen. 
Wenn Du eine Variable in eine .h-Datei "verlagerst" und diese .h-Datei 
in mehrere andere Sources #includest, dann gibt es Fehler wegen 
mehrfacher Deklaration/Definition.

von Karl H. (kbuchegg)


Lesenswert?

Der Fehler den du beschreibst, ist mir eigentlich immer
als Folgefehler untergekommen.
Wenn das System meldet, dass die OBJ Datei nicht existiert,
dann ist der Compilerlauf mit einer Fehlermeldung beendet
worden. Dort musst du suchen.
Du hast irgendeinen Syntax oder sonstigen Fehler im Source
Code. Der Compiler gibt auch eine entsprechende Fehlermeldung
dazu aus und erzeugt das OBJ File nicht.
Aus irgendeinem Grund kriegt das aber der Make-Mechanismus im
AVR-Studio nicht mit und versucht ein fertiges Programm zu linken,
was aber nicht geht, da eine Zutat dazu fehlt.

-> Sieh nach, ob der Compiler eine Fehlermeldung bringt.
Dadurch, dass das Ausgabefenster im AVR-Studio meist nicht
sehr gross ist, übersieht man die gerne mal.

von Matthias (Gast)


Lesenswert?

Schätze das wars:
>In die .h-Datei gehören eigentlich nur "extern"-Deklarationen.
>Wenn Du eine Variable in eine .h-Datei "verlagerst" und diese .h-Datei
>in mehrere andere Sources #includest, dann gibt es Fehler wegen
>mehrfacher Deklaration/Definition.

Danke für eure Hilfe

von Johannes M. (johnny-m)


Lesenswert?

Glaskugel hat wieder ganze Arbeit geleistet...

von Sebastian R. (Gast)


Lesenswert?

Bei mir lag es daran, dass ich eine globale Variable in einer .h-Datei 
definiert habe UND ihr gleichzeitig einen Wert zugewiesen habe.

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.