2012-06-02 8 views
9

Einige Kontext: Ich gehe durch eine tutorial auf OpenGL. Das Tutorial benötigt ein paar Bibliotheken, um zu arbeiten. Eine dieser Bibliotheken ist FreeGLUT. Ich bin auf OS X mit Lion.FreeGLUT auf Mac OS X Löwe

Ich habe heruntergeladen freeglut und folgte die instructions für die Installation, aber wenn ich den ‚make all‘ Befehl ausführen bekomme ich diesen Fehler:

error: GL/gl.h: No such file or directory 
error: GL/glu.h: No such file or directory 

ich im Internet nach einer Lösung und alles, was ich habe gescheuert Ich konnte daraus verstehen, dass der Compiler Probleme beim Auffinden dieser Dateien hat und dass der Pfad, den der Compiler verwendet, geändert werden muss.

EDIT: Okay, ich habe herausgefunden, dass es nicht der Compiler ist, es ist, dass aus irgendeinem Grund diese Dateien nicht da sind. Versuchen herauszufinden, warum sie nicht da sind.

+0

Ich bin mit Mac nicht vertraut, aber Sie müssen sowohl die OpenGL und GLU-Entwicklungsbibliotheken installieren freeglut, zu bauen, die abhängig auf sie. – Bojangles

+0

Mit Xcode können Sie einfach eine Bibliothek zu einem Projekt hinzufügen und OpenGL ist eine Bibliothek, die hinzugefügt werden kann, also nahm ich an, dass diese Dateien installiert wurden. Irgendwelche Ideen, wie ich das mache? Hehe ... – jasonaburton

Antwort

12

Am Mac ist der Speicherort dieser Header-Dateien nicht identisch mit denen unter Linux. So in dem Code, ersetzen diese:

#include <GL/gl.h> 
#include <GL/glu.h> 

mit diesem:

#include <OpenGL/gl.h> 
#include <OpenGL/glu.h> 

und das sollte das Problem beheben.

+0

Wissen Sie, wo in den FreeGLUT-Dateien ich diese Änderung vornehmen muss? – jasonaburton

+1

Nein, das weiß ich nicht, aber soweit ich weiß, brauchen Sie es nicht. GLUT ist auf OS X vorinstalliert, so dass Sie einfach dem Tutorial mit dem GLUT folgen können, den Sie bereits auf Ihrem Computer haben, und der Code sollte genau derselbe sein. – Hassan

+1

Der Eindruck, den ich bekam, war, dass FreeGLUT ganz anders als GLUT war und das Beispiel nicht wie geschrieben funktionieren würde. Wenn ich das nicht funktioniere, werde ich GLUT verwenden. – jasonaburton

0

Dieses Tutorial, OpenGLBook.com, basiert auf OpenGL 4.0-Kernkontexten, mit 3,3 Kernkontexten als Alternative. Im besten Fall auf OS X (mit Mountain Lion) erhalten Sie einen 3.2 Core-Kontext, der ähnlich wie 3.3 ist - aber leider ist dies nicht kompatibel mit GLUT - OS X enthält die ursprüngliche GLUT (unmodifiziert aufgrund von Lizenzproblemen), die viele benötigt veraltete OpenGL-Funktionen, die in 3.2-Kernkontexten nicht verfügbar sind.

Wenn Sie dieses Tutorial auf OS X (10.6.3 oder höher) machen wollen, ohne mit vielen lästigen Inkompatibilitäten umgehen zu müssen, und mit zukunftssicherem OpenGL, empfehle ich die Installation einer aktuellen Version von XQuartz (2.7.2 oder später), die FreeGLUT (2.8.0 zu Beginn) enthält.

https://dl.bintray.com/xquartz/downloads/XQuartz-2.7.11.dmg

+0

Hallo, ich war nicht in der Lage einen 3,2-Kontext zu erhalten freeglut mit (via XQuartz). Ich war in der Lage, einen 2.1 Kontext ohne irgendwelche Probleme zu bekommen, aber ich konnte nur 3.2 über Cocoa bekommen. Ich würde gerne herausfinden, ob das möglich ist. –

0

installieren freeglut über Macports, ändern premake4.lua so, dass es das nicht offizielle OpenGL SDK im glsdk abgesehen von freeglut baut. kopiere und füge die lib und include Ordner von freeglut manuell ein (via macports) und ändere # include_GL/freeglut.h in der Datei framework.cpp (framework) so, dass die Kopfzeile gefunden wird. füllen Sie auch die Lücken in Ordnernamen, z. Tut 13 Impostors -> Tut_13_Impostors

es funktioniert für mich

mehr Details here