C++ Include Problem

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • C++ Include Problem

    Hallo zusammen,

    ich habe ein eher grundlegendes Problem, dass ich momentan selbst nicht lösen kann, weil ich entweder schon zulange vor meinem Code sitze oder irgendwie gerade vollkommen auf dem Schlauch stehe. Ich möchte mein OpenGL-Programm etwas mehr modularisieren. Soll heißen, dass ich die Windows-Funktionen und die OpenGL-Funktionen separat in Klassen unterbringen möchte, nur scheint es dort Probleme mit der Bekanntmachung zu geben.

    Erklärung: Ich habe ein Hauptprogramm "main.cpp", welche eine Header-Datei "cWindows.h" mit der Klasse "cWindows" includiert. Dort sind alle privaten und öffentlichen Variablen/Funktionen deklariert. In einer separaten Datei "cWindows.cpp" wird die Header-Datei "cWindows.h" includiert. In der CPP-Datei sind demnach alle, vorher deklarierten Funktionen, definiert enthalten.

    Das Problem ist jetzt allerdings, dass ich einen privaten Member habe, der die eigentliche Anwendungsinstanz (HINSTANCE) speichern soll. Diese wird über den Compiler gesetzt. Wenn ich vorsorglich das Projekt erzeugen lasse, bekomme ich eine Reihe von Fehlern, dass der Typ "HINSTANCE" (und andere) nicht gefunden wurden. In der CPP-Datei werden diese zuzüglich noch als rot markiert.

    Meine Frage ist jetzt: Wie includiere ich die Dateien, damit diese Daten-Typen gefunden werden?

    Sicherlich könnte ich die "windows.h" in jeder Header-Datei angegeben, in der eine HWND- oder eine HINSTANCE-Variable genutzt wird, aber das wäre zu einfach und nicht wirklich Code sparend.
    Für Vorschläge und Ideen wäre ich sehr dankbar!

    Beste Grüße,
    SKiD.
  • SkiD schrieb:

    Sicherlich könnte ich die "windows.h" in jeder Header-Datei angegeben, in der eine HWND- oder eine HINSTANCE-Variable genutzt wird, aber das wäre zu einfach und nicht wirklich Code sparend.
    Für Vorschläge und Ideen wäre ich sehr dankbar!

    Genau so, oder du definierst eine zweite Header (global) wo du alle Abhängigkeiten definierst und inkludierst diese dann in jeder cpp Datei.
    Einen anderen weg gibt es nicht.

    PS: Um weitere Probleme zu vermeiden stelle sicher, dass du in den Headern "Include-Guars" verwendest.

    Mfg Rushh0ur
  • Hallo Rushh0ur,

    danke für deine Antwort.

    Rushh0ur schrieb:


    Genau so, oder du definierst eine zweite Header (global) wo du alle Abhängigkeiten definierst und inkludierst diese dann in jeder cpp Datei.
    Einen anderen weg gibt es nicht.


    Schade, ich dachte es würde noch anders gehen. Dann werde ich das mit den globalen Header wohl so durchziehen. Danke dafür. ;)

    Rushh0ur schrieb:


    PS: Um weitere Probleme zu vermeiden stelle sicher, dass du in den Headern "Include-Guars" verwendest.


    Jep, die benutze ich standardmäßig immer gleich mit. ;)
    Also danke nochmal!

    Beste Grüße,
    SKiD.