fatal error C1083: Include-Datei kann nicht geöffnet werden: 'GL/glew.h': No such file or directory



  • Das Problem hier ist komplizierter als es den anschein hat.

    Ich habe eine Klasse ShaderManager, die aus .h und .cpp besteht. Mein Ziel ist das includen der GL/glew.h Header.

    Der Pfad für glew ist in der Projekt Konfig drin. Folgendes Szenario geht:

    // h
    #pragma once
    #include <string>
    	class ShaderManager
    	{
    	public:
    		ShaderManager(const std::string & path);
    };
    
    // cpp
    #include "include\ShaderManager.h"
    #include <GL/glew.h>
    ShaderManager::ShaderManager(const std::string & path)
    {
      glewInit();
    }
    

    Es funktioniert vollständig, ich kann glew nachweislich nutzen.
    Nun wollte ich das glew include aus der cpp in den header schieben, weil ich ein paar GL Vars als Klassenvariablen brauche:

    // h
    #pragma once
    #include <GL/glew.h>
    #include <string>
    	class ShaderManager
    	{
    	public:
    		ShaderManager(const std::string & path);
    };
    
    // cpp
    #include "include\ShaderManager.h"
    ShaderManager::ShaderManager(const std::string & path)
    {
      glewInit();
    }
    

    Und das funktioniert nicht, ich bekomme einen Haufen Fehler, aber warum? Der Pfad ist in den Optionen, .h und .cpp liegen NICHT im gleichen Ordner, aber glew liegt bei keinem dieser Ordner in der Nähe, das heißt das include im .cpp hat ja funktioniert, warum dann nicht in der h?

    Die Fehler:

    fatal error C1083: Include-Datei kann nicht geöffnet werden: 'GL/glew.h': No such file or directory
    fatal error C1083: Include-Datei kann nicht geöffnet werden: 'GL/glew.h': No such file or directory
    fatal error C1083: Include-Datei kann nicht geöffnet werden: 'GL/glew.h': No such file or directory
    fatal error C1189: #Fehler:  gl.h included before glew.h
    fatal error C1189: #Fehler:  gl.h included before glew.h
    

    Keines dieser Fehler erscheint, wenn include in cpp ist


  • Administrator

    Was hat das mit C++ zu tun? Das ist ein Problem mit dem Kompiler.
    Aber naja, wie hast du denn dem Kompiler angegeben, wo er diese Includes suchen soll? Es ist seeeeehr wahrscheinlich, dass du dort irgendwo einen Fehler gemacht hast. Zum Beispiel einen relativen statt absoluten Pfad verwendet.

    Grüssli


Log in to reply