2014-04-12 21 views
8

Ich versuche this openGL Beispiel auf meinem Mac von der Befehlszeile mit gcc ausführen. Der XCode ist installiert, gcc wurde viele Male mit anderen Programmen (ohne Grafiken) benutzt.Wie OpenGL mit Gcc auf Mac verwenden?

verfolgt this Thema, das ich laufen:

g++ 1.cpp -framework OpenGL -lGLU -lglut 

und erhalten:

1.cpp:12:21: fatal error: GL/glut.h: No such file or directory 

I glut.h bei /System/Library/Frameworks/GLUT.framework/Headers/ gefunden und festgestellt, dass Struktur unterschiedlich ist (nicht Ordner GL). Aber auch entfernen GL/ und -I/System/Library/Frameworks/GLUT.framework/Headers/hilft nicht viel ..

Also frage ich mich - wie OpenGL mit gcc auf Mac richtig zu verwenden?

Antwort

22

Ihr erstes Problem ist, dass Apples Framework-Infrastruktur aktiv Tragbarkeit von Code sabotiert durch OpenGL-Header in einer Platzierung nicht standardmäßiger Pfad Auf Apple-Plattformen befinden sich die OpenGL-Header in einem Verzeichnis mit dem Namen OpenGL anstelle von GL.

So portably enthalten die Header Sie

#ifdef __APPLE__ 
#include <OpenGL/gl.h> 
#else 
#include <GL/gl.h> 
#endif 

Ihr anderes Problem ist, dass GLUT ist nicht Teil von OpenGL und einer unabhängigen, Dritten Bibliothek zu schreiben, ist, dass nicht mehr im OpenGL Framework enthalten. Sie müssen das GLUT Framework verwenden. Und natürlich, dass man nicht dem Standard entsprechende Anwendungen sind Pfade auch:

#ifdef __APPLE__ 
#include <GLUT/glut.h> 
#else 
#include <GL/glut.h> 
#endif 

Compile mit den -framework OpenGL -framework GLUT Optionen.

5

Auf mavericks mit den

#include <GLUT/glut.h> 

Arbeiten schließen, wenn Sie mit der folgenden Zeile kompilieren

g++ 1.cpp -framework OpenGL -framework GLUT 
Verwandte Themen