Forum: Mikrocontroller und Digitale Elektronik Arduino - Probleme mit globalen Variablen


von Hans (Gast)


Lesenswert?

Hi,

ich habe folgendes Problem:
Ich habe eine Library erstellt, in der es 1 globale Variable gibt.
Die globale Variable habe ich in der Header-Datei deklariert (byte 
Count) und in der cpp folgendermaßen deklariert: extern byte Count.
In meiner "Main"-Datei greife ich nicht direkt auf die Variable zu, 
sondern benutze die Funktionen Get/SetCount() die ich ebenfalls 
definiert habe.

Nun kommt folgende Fehlermeldung vom Compiler:
"multiple definition of `Count'"

An sich klar verständlich, nur ich weiß nicht wo genau das Problem sein 
soll.

Mit dem extern - Befehl sollte das doch eigentlich funktionieren?

Leider gibt mir der Compiler auch irgendwie keine direkte Zeilenangabe 
an, in der der Fehler auftreten soll.

Danke für eure Hilfe!

Gruß

Hans

von Riddler (Gast)


Lesenswert?

Source-Code?

von Stefan E. (sternst)


Lesenswert?

Hans schrieb:
> Ich habe eine Library erstellt, in der es 1 globale Variable gibt.
> Die globale Variable habe ich in der Header-Datei deklariert (byte
> Count) und in der cpp folgendermaßen deklariert: extern byte Count.

Genau verkehrt herum.

Hans schrieb:
> In meiner "Main"-Datei greife ich nicht direkt auf die Variable zu,
> sondern benutze die Funktionen Get/SetCount() die ich ebenfalls
> definiert habe.

Wozu willst du dann überhaupt in der Header-Datei eine Deklaration 
haben?

von Hans (Gast)


Lesenswert?

Stefan Ernst schrieb:
> Hans schrieb:
>> Ich habe eine Library erstellt, in der es 1 globale Variable gibt.
>> Die globale Variable habe ich in der Header-Datei deklariert (byte
>> Count) und in der cpp folgendermaßen deklariert: extern byte Count.
>
> Genau verkehrt herum.
>
Ok vielen Dank!
Hat funkioniert und ist natürlich auch logisch.

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.