globale Variable wie definieren?

Gast #1445463
Lesenswert?

Hi

Ich tüftle an einem Programm in C18 herum. Momentan hab ich 
Schwierigkeiten, eine Variable einzurichten, die in allen Funktionen 
gelten soll. Sie steht jetzt am Anfang von main.c vor den Funktionen. 
Das Problem ist, dass die Variabel bereits in den Funktionen benötigt 
wird, die per header-datei (am Anfang von main.c) eingebunden werden. 
Deshalb bringt der Compiler auch immer für die eingebundenen 
code-dateien Fehler, dass die Variabel noch nicht definiert sei.


lcd.c:162:Error [1105] symbol 'cursor' has not been defined

ich hab mich auch durch das microchip c18 tutorial gewühlt, bin aber 
nicht schlauer geworden. Weiß jemand Rat?
Gast #1445469
Lesenswert?

Eigentlich gehören keine Funktionen in Header Dateien.
Aber egal, du könntest am Anfang der Headerdatei ein "extern soundso 
cursor" setzen und damit die Variable deklarieren. Ist zwar ein bisschen 
von hinten durch die Brust ins Auge, sollte aber gehen.
Gast #1445477
Lesenswert?

ich meinte auch nicht die Funktionen an sich sondern nur der Name, hab 
mich wohl etwas unglücklich ausgedrückt. Die Funktionen selber liegen in 
den entsprechenden c files

ich versuch mal den Tipp von  uwegw, danke inzwischen
#1445484
Lesenswert?

Leviathan schrieb:
> ich meinte auch nicht die Funktionen an sich sondern nur der Name, hab
> mich wohl etwas unglücklich ausgedrückt. Die Funktionen selber liegen in
> den entsprechenden c files

Das kann dann aber nicht sein.
Du hast doch nicht die *.c Files mittels #include eingebunden?

http://www.mikrocontroller.net/articles/FAQ#Globale_Variablen_.C3.BCber_mehrere_Dateien

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