Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

20.02.2010, 22:17

Problem mit Include Guards[erledigt]

hi

ich hab folgendes Problem:
MSVC 2008 gibt mir fehler in der Datei "InitD3D.h" aus. Ich glaube es liegt an den Include Guards, denn bevor ich sie reingeschrieben hatte,hatte ich die Fehler noch nicht und bei InitWindow.h,etc hatte ich es genau so mit den Include Guards gemacht:

InitD3D.h

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include "Framework.h"

#ifndef INITD3D_H
#define INITD3D_H

class CInitD3D
{
public:

    HRESULT InitD3D(HWND hwnd);

    LPDIRECT3D9         pD3D;
    LPDIRECT3DDEVICE9   pd3dDevice;
    D3DPRESENT_PARAMETERS d3dpp;
};

#endif


Framework.h

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
#include "Vektor3D.h"
#include "Color.h"
#include <d3d9.h>
#include <d3dx9.h>
#include "InitWindow.h"
#include "InitD3D.h"
#include "ResourcenManager.h"
#include <iostream>


CWindow cw;
CInitD3D id3d;


und folgende Fehler:

Quellcode

1
2
3
4
5
6
7
8
Kompilieren...
InitD3D.cpp
c:\dokumente und einstellungen\fabi\desktop\programmieren\projekte\anwendungen\dx\dx\Framework.h(1) : fatal error C1014: Zu viele Headerdateien: Tiefe = 1024
main.cpp
c:\dokumente und einstellungen\fabi\desktop\programmieren\projekte\anwendungen\dx\dx\InitD3D.h(1) : fatal error C1014: Zu viele Headerdateien: Tiefe = 1024
Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Fabi\Desktop\Programmieren\Projekte\Anwendungen\DX\DX\Release\BuildLog.htm" gespeichert.
DX - 2 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


Vielen Dank im voraus

mfg

Fabian

EDIT: mir fällt grad auf das ich nur bei InitD3D.h Framework.h includiere
Metal ist keine Musik sondern eine Religion.

unsigned long

Treue Seele

Beiträge: 140

Wohnort: Herzogenrath

Beruf: Fachinformatiker Fachrichtung Anwendungsentwicklung

  • Private Nachricht senden

2

20.02.2010, 22:33

#includes kommen IN DIE Include-Guard nicht außerhalb. Außerdem fehlt dir in der anderen Header-Datei auch eine Include-Guard.

3

20.02.2010, 22:34

Du hast vermutlich mehrfache includes weil du die includes außerhalb der guard hast.

Zitat

#include "Framework.h"

#ifndef INITD3D_H
#define INITD3D_H


So sollte es sein:

Zitat

#ifndef INITD3D_H
#define INITD3D_H

#include "Framework.h"


Du willst ja durch die Guards verhindern, dass die Includes etliche male aufgerufen werden.

4

20.02.2010, 23:19

Jetzt kommen zwei andere Fehlermeldungen die sich einfach auf andere Datein beziehen aber nicht mehr auf InitD3D.h

Quellcode

1
2
3
4
5
6
7
8
Kompilieren...
InitD3D.cpp
c:\dokumente und einstellungen\fabi\desktop\programmieren\projekte\anwendungen\dx\dx\Framework.h(1) : fatal error C1014: Zu viele Headerdateien: Tiefe = 1024
main.cpp
c:\dokumente und einstellungen\fabi\desktop\programmieren\projekte\anwendungen\dx\dx\ResourcenManager.h(1) : fatal error C1014: Zu viele Headerdateien: Tiefe = 1024
Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\Fabi\Desktop\Programmieren\Projekte\Anwendungen\DX\DX\Release\BuildLog.htm" gespeichert.
DX - 2 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


EDIT:Hat sich erledigt ich hab mit den Iclude Guards in anderen Dateien Mist gebaut. läuft jetzt alles wie es soll.
Metal ist keine Musik sondern eine Religion.

idontknow

unregistriert

5

20.02.2010, 23:26

Wirst die Include Guards wohl auch in den anderne Headern falsch gemacht haben!

Werbeanzeige