VC: Probleme mit gl.h

Programmiersprachen, APIs, Bibliotheken, Open Source Engines, Debugging, Quellcode Fehler und alles was mit praktischer Programmierung zu tun hat.
Antworten
Benutzeravatar
Jonathan
Establishment
Beiträge: 2390
Registriert: 04.08.2004, 20:06
Kontaktdaten:

VC: Probleme mit gl.h

Beitrag von Jonathan »

Nach dem ich von Codeblocks auf VC umgestiegen bin, hatte ich (enorm viele) Compilerfehler, wenn ich einfach nur die gl.h inkludiert habe. Die braucht offensichtlich ne Menge Zeug aus der windows.h. Nun, das Problem kann man lösen, indem man zuerst immer noch die windows.h inkludiert, was erstens hässlich und zweitens auch falsch ist, sobald man das ganze z.B. unter Linux kompiliert.
Die zweite Läsung war, die glew.h zu inkludieren, diese beinhaltet alle nötigen Informationen aus der windows.h (verpackt in einem ifdef-Block). Allerdings finde ich es auch nicht so megatoll, immer gleich die glew.h zu inkludieren, die ist ja nicht OpenGL Standard und damit prinzipiell eine zusätzliche Abhängigkeit.
Insgesamt nicht so das große Problem, gelöst hab ich es ja praktisch schon, aber mir gefallen alle Wege irgendwie nicht. Ich hab auch irgendwie das Gefühl, dass es ein Designfehler sein könnte, dass die gl.h zwingend Definitionen aus einer anderen Datei benötigt, das man also immer beide einbinden muss.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
Schrompf
Moderator
Beiträge: 4879
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: VC: Probleme mit gl.h

Beitrag von Schrompf »

Was ist jetzt Deine Frage? :-)

Multiplattform-Entwicklung läuft in C/C++ am Ende *immer* auf #if und #endif hinaus. Ich sehe ehrlich gesagt nicht, was Du daran anders machen könntest. Deine einzige Option ist, Dritt-Bibliotheken zu benutzen, die das #if/#endif dann in ihren eigenen Sourcen betreiben, so dass Du Dich nicht darum kümmern musst. Aber anscheinend gefällt Dir diese Option auch nicht. Wenn Du genauer beschreibst, was Dich an den beiden Optionen eigentlich stört, kann ich Dir vielleicht besser helfen.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
kimmi
Moderator
Beiträge: 1405
Registriert: 26.02.2009, 09:42
Echter Name: Kim Kulling
Wohnort: Luebeck
Kontaktdaten:

Re: VC: Probleme mit gl.h

Beitrag von kimmi »

Du könntest OS-spezifische Header anlegen, um die Probleme je nach Plattform an einer Stelle zu bündeln. Dann könntest du die Anzahl der Include-Guards minimieren. So könntest du zum Beispiel einen Header OS.h bauen, in dem du die benötigten ifdef-Blöcke um die plattform-spezifischen Includes setzt. So eine Kapselung verschmutzt den restlichen Code nicht so sehr.
Darum herum kommen wirst du nur, wenn du wie Schrompf schon sagte, eine Third-Party-Lib wie beispielsweise SDL benutzt.

Gruß Kimmi
Antworten