Forum: Mikrocontroller und Digitale Elektronik Funktion in Headerdatei auslagern, AVR-Studio


von Wilfried H. (Gast)


Lesenswert?

Hallo Forum,

ich habe die Funktionen von einem funktionsfähigen Programm in eine 
Headerdatei ausgelagert.
Beim linken bekomme ich aber städig den Fehler im AVR-Studio "undefined 
reference to 'Name der Funktion'!!
Ich habe schon das Forum durchsucht, aber leider noch keine passende 
Anregung gefunden. Habe bereits mit den Schlüsselwörtern "extern" 
rumprobiert, hatte aber keinen Erfolg.

Irgendwie weiss ich grad nicht, was da sein könnte! Hat von Euch Profis 
irgendjemand eine Idee?

Vielen Dank schon mal im Voraus!

Wilfried H.

von Manfred B. (vorbeigeschlendert)


Lesenswert?

die Funktionen in eine Headerdatei ausgelagert?!? oder nur die 
Prototypendefinitionen?

von Wilfried H. (Gast)


Lesenswert?

Hallo,

ich habe folgendes vom c-Programm entfernt und in die Headerdatei 
reinkopiert.

void setup_uart(void)
{
      Init_Register von UART
      ....

}

und die Headerdatei im c-File eingebunden.
Hab das gleiche bereits mit einer put_char Funktion ausgeführt und 
komischerweise funktioniert es da!
Danke schon mal

Wilfried

von Tobi (Gast)


Lesenswert?

Hi

In header-Files können nur Funktionsdeklarationen angegeben werden. Der 
Funktionsrumpf muss im c File erfolgen.

von Wilfried H. (Gast)


Lesenswert?

Hallo,

erstmals danke Tobi!

Heißt das dann, dass ich die Funktion in ein neues c-File z.B. Namens 
setup_uart.c kopiere und im Headerfile setup_uart.h nur bekannt mache?

Falls das oben so stimmt, wie wird dann das zusäzliche c-File angelegt 
und vorallem wo gespeichert, dass ich es nicht in jedem neuen Projekt 
neu "rüberkopieren" muss?
Arbeite mit AVR-Studio.

Sorry, bin noch Anfänger!

Wilfried

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.