Include OpenGL-Bibliotheken in C ++, Windows 7

8

Ich lese durch ein Tutorial "Erste Schritte mit OpenGL" und bin auf diesen Text gestoßen:

  

"Wenn Sie C / C ++ verwenden, müssen Sie zuerst eine Build-Umgebung (Visual Studio-Projekt, GNU-Makefile, CMake-Datei usw.) einrichten, die eine Verbindung zu OpenGL herstellen kann. Unter Windows müssen Sie statisch mit einem Link verknüpfen Bibliothek namens OpenGL32.lib (beachten Sie, dass Sie immer noch eine Verbindung zu OpenGL32.lib herstellen, wenn Sie eine 64-Bit-ausführbare Datei erstellen. Der Teil "32" ist bedeutungslos.) Visual Studio und die meisten Windows-Compiler kommen mit dieser Bibliothek / p>

Ich versuche nur, meine Quelldateien mit vim zu schreiben, ich möchte keine IDE wie VS verwenden, und nach meinem Verständnis kommen die OpenGL-Bibliotheken mit Windows 7 (korrigiere mich, wenn ich falsch liege). Nach diesem Punkt geht der Artikel nicht wirklich ins Detail, wie man die OpenGL-Bibliotheken einbindet, und meine eigentliche Frage ist, wie kann ich die OpenGL-Bibliotheken in meine Quelldateien einbinden und verwenden?

Ist es so einfach wie das Schreiben von #include <name of lib> oder muss ich etwas anderes mit meiner Programmierumgebung machen, wie das Bearbeiten meiner Pfadvariablen?

Bearbeiten: Ich benutze den MinGW g ++ / gcc Compiler

    
imkendal 11.09.2012, 19:01
quelle

1 Antwort

5

Um Zugriff auf die Include-Dateien zu erhalten, benötigen Sie eine spezielle Support-Bibliothek. Es gibt mehr als eine davon, aber ich würde GLEW empfehlen. Sie finden das GLEW-Interface unter Ссылка .

Der Grund dafür ist, dass unter Windows nur eine sehr alte Version von OpenGL-Headern verfügbar ist. Die neuere Schnittstelle ist indirekt verfügbar; Sie müssen nach Funktionsadressen fragen. Dies wird jedoch von GLEW für Sie erledigt.

Sie müssen also nur & lt; GL / glew.h & gt; und führe eine Initialisierung mit glewInit ();

durch

Dies ist sowohl mit Linux als auch mit Windows kompatibel, besonders wenn Sie MinGW verwenden. Beim Verknüpfen verwende ich Folgendes:

MY_LIBS =     -lglew32      -lopengl32     -lWs2_32 -lole32 -lcomctl32 -lgdi32 -lcomdlg32 -luuid

Ich kann die Verwendung eines generischen Makefiles empfehlen, siehe Ссылка

Beachten Sie, dass Sie vor der Initialisierung von GLEW auch einen Kontext für OpenGL einrichten müssen. Dies geschieht je nach Umgebung unterschiedlich. Es ist fertig, wenn Sie ein Fenster öffnen. Für tragbare Bibliotheken kann ich die glfw Bibliothek oder freeglut empfehlen .

    
Lars Pensjö 11.09.2012, 20:32
quelle