Forum: Mikrocontroller und Digitale Elektronik Fehlermeldung mehrfache Definition


von Herbert (Gast)


Lesenswert?

Guten Abend zusammen,

ich habe mich heute nachdem ich mich eingelesen habe, mal daran versuch 
ein Programm auf mehrere C-Files sowie Header aufzuteilen.

Leider erhalte ich immer eine Fehlermeldung das meine ausgelagerten 
Funktionen mehrfach definiert werden würden.

In der Header Datei deklariere ich die Funktionen.
1
extern void clear(void);  //extern kann weggelassen werden

Diese Header Datei binde ich mit #include in meine nur in meine 
funktionen.c Datei ein. Hier werden die Funktionen dann auch definiert:
1
#include "datei.h"
2
3
extern void clear ()   //habe schon mit und ohne extern davor versucht
4
{
5
  //Anweisungen
6
}

In die Main.c inkludiere ich nur noch funktionen.c

Über Hinweise zu meinem Fehler wäre ich sehr dankbar.

Herbert

von Einer K. (Gast)


Lesenswert?

Herbert schrieb:
> in die Main.c inkludiere ich nur noch funktionen.c
Das ist falsch!
Die *.h musst du einbinden und die *.c getrennt kompilieren.

Und die ganzen entstehenden Objektdateien linken.

Herbert schrieb:
> //habe schon mit und ohne extern davor versucht
Ohne ist an der Stelle richtig.

von Herbert (Gast)


Lesenswert?

Danke für deine schnelle Hilfe. So funktioniert es wunderbar :)

von Einer K. (Gast)


Lesenswert?

Fein!

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.