CCS fängt die compilierung mit der falsche Datei an

OP #2115991
Lesenswert?

Guten Tag zusammen,

seit ein paar Monate beschäftige ich mich mit PIC Controller. Also wurde 
ich nicht sagen ich bin kein Profi aber ich habe das eine oder andere 
verstanden.

Nun habe ich aber ein Problem bei dem ich nicht schlau werde:

Ich programmiere das ganze unter Win7 und die Entwicklingsumgebung MPLAB 
IDE V8.50. Als Compiler verwende ich CSS C Compiler PCWH IDE Version 
3.249.

Bis jetzt ging alle gut. Aber nun entsteht ein Fehler, der ich mir 
einfach nicht erklären kann:

Der Compiler fängt nicht mit der Datei "PU_cotrol.c" an, in der sich die 
main()-Funktion befindet sondern mit eine andere "Com.c".

Dies führt zur Benachrichtigung:
1
Executing: "C:\Program Files\PICC\Ccsc.exe" +FH "Com.c" +EXPORT +DF +LN +T +A +M +Z +Y=9 +EA
2
*** Error 128 "C:\PROGRA~1\PICC\drivers\stdlib.h" Line 23(1,2): A #DEVICE required before this line
3
C:\Users\elvys.melo\Desktop\Ver_c_3\Com.o ===>  1 Errors,  0 Warnings.

Wie ihr sehen konnt, wird hier kein #DEVICE gefunden, denn dieser wurde 
in einer der ersten Zeile der "Haupt"-Datei eingefügt (#include 
<18F458.h>).

Kann mir jemand sagen wie ich den Compiler mitteilen kann, mit welche 
Datei er anfangen soll?

Ich habe auch das ganze Projekt neue angelegt, aber erfolglos. ;(

Ich bedanke mich in Voraus.

Grüße

Terrex

PS Falls ich dieser Beitrag im falschen Forum eintragen habe, tut es mir 
leid, da war ich mir jetzt unsicher.
Gast #2116006
Lesenswert?

Ohne jetzt den Compiler im Detail zu kennen, wird der sich doch wie alle 
anderen C-Compiler auch verhalten.

Und daher hat der keine Ahnung, was in anderern Dateien auf deiner 
Festplatte so steht. Der kennt nur die Datei, die er gerade bearbitet, 
also Com.c, und wenn ihm in der irgend ein include fehlt, dann fehlt das 
da, und ermekcert.
Das ändert sich auch nicht, wenn er erst PU_cotrol.c komilieren würde.

Jede .c-Datei wird com Compiler einzeln compiliert, und in jeder 
.c-Datei müssen alle includes, die benötigt werden, auch includiert 
sein.

Oliver
Persönliche Seite #2116010
Lesenswert?

Elvys MeloDA schrieb:
> Der Compiler fängt nicht mit der Datei "PU_cotrol.c" an, in der sich die
> main()-Funktion befindet sondern mit eine andere "Com.c".

Das ist kein Fehler. Jede C-Source-Datei, die zu Deinem Projekt gehört, 
wird separat übersetzt.

Wenn Du in "PU_cotrol.c" eine Headerdatei einbindest, die für das 
Übersetzen von "Com.c" benötigt wird, dann musst Du diese Headerdatei 
auch in "Com.c" einbinden.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren