Arduino - Probleme mit globalen Variablen

Gast #3272911
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
#3273014
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?
Gast #3273051
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.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.