Forum: Mikrocontroller und Digitale Elektronik Einbinden eine Headerdatei schlägt fehl.


von Ramon H. (mrrayman)


Angehängte Dateien:

Lesenswert?

Guten Tag,

ich hatte schon immer das Problem, dass ich Headerdateien nicht 
eingebunden werden. Nun habe ich mich entschlossen mir mal Hilfe zu 
holen.

Die Begriffe, die in der Headerdatei definiert sind, werden in 
AtmelStudio makiert. Ich kann Header auch mit den "Go-Befehl" direkt 
anspringen. Die Headerdatei liegt genau neben der Main.cpp. Sie wurde 
auch im Solution Explorer hinzugefügt.

Ich habe mal ein Minimalbeispiel geschrieben

main.cpp
------------------------------------------------------------------------ 
---
#include <avr/io.h>
#include <util/delay.h>

#include <header.h>


int main(void)
{
    DDRC |= (1<<PinLED);
    while (1)
    {
    PortLED ^= (1<<PinLED);
    _delay_ms(100);
    }
}
------------------------------------------------------------------------ 
---


header.h
------------------------------------------------------------------------ 
---
#ifndef HEADER_H_
#define HEADER_H_

#define PortLED PORTC
#define PinLED  PC5
#define DDRLED  DDRC



#endif /* HEADER_H_ */
------------------------------------------------------------------------ 
---

Als Fehlermeldung bekomme ich:

Warning    #warning "F_CPU not defined for <util/delay.h>"
[-Wcpp]  GccApplication2 
d:\mikrocontroller\atmelstudio\installationsdateien\7.0\toolchain\avr8\a 
vr8-gnu-toolchain\avr\include\util\delay.h


Error    recipe for target 'main.o' failed
GccApplication2 
D:\Mikrocontroller\AtmelStudio\Projektdateien\GccApplication2\GccApplica 
tion2\Debug\Makefile

Error    header.h: No such file or directory
GccApplication2 
D:\Mikrocontroller\AtmelStudio\Projektdateien\GccApplication2\GccApplica 
tion2\main.cpp




Woran kann es denn noch liegen?
Ich bedanke mich schon mal in vorraus.

von Nase (Gast)


Lesenswert?

Bereits die erste Zeile deiner Fehlermeldungen ist doch ziemlich 
eindeutig.

von Peter II (Gast)


Lesenswert?

Ramon H. schrieb:
> Woran kann es denn noch liegen?

Warning    #warning "F_CPU not defined for <util/delay.h>"

das du F_CPU nicht definiert hast.

> Error    header.h: No such file or Directory
eigene Header müssen mit " geschrieben werden.
1
#include "header.h"

von Kaj G. (Firma: RUB) (bloody)


Lesenswert?

Ramon H. schrieb:
> #include <header.h>
Spitzeklammern: Die Datei header.h wird im Systemincludepfad gesucht.

Was du willst:
1
#include "header.h"
Jetzt wird die Datei im Projektverzeichnis gesucht.

von Ramon H. (mrrayman)


Lesenswert?

Ds waren die "" anstatt <>.

Vielen Dank für die Hilfe.

von Bernd K. (prof7bit)


Lesenswert?

Du kannst das Verzeichnis in dem der Header liegt auch in die Liste der 
Include-Verzeichnisse aufnehmen, dann geht auch <>, vor allem dann wenn 
es zwar ein eigener Header und kein Systemheader ist, dieser aber zur 
Übersichtlichkeit oder aus welchen Gründen auch immer in einem anderen 
Verzeichnis liegt.

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.