2012-06-02 26 views
9

In alcuni contesti: Sto utilizzando un tutorial per l'utilizzo di OpenGL. Il tutorial richiede un paio di librerie per funzionare. Una di queste librerie è FreeGLUT. Sono su OS X usando Lion.FreeGLUT su Mac OS X Lion

Ho scaricato FreeGLUT e seguii la instructions per l'installazione, ma quando ho eseguito il comando 'fare tutto' ottengo questo errore:

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

Ho perlustrato internet per una soluzione e tutto quello che ho Sono stato in grado di capire da questo è che il compilatore sta avendo problemi a localizzare questi file e che il percorso che il compilatore sta usando deve essere cambiato.

EDIT: OK, ho capito che non è il compilatore, è che per qualche motivo quei file non ci sono. Cercheremo di capire perché non ci sono.

+0

Non ho familiarità con Mac, ma è necessario installare entrambe le librerie di sviluppo OpenGL e GLU per costruire FreeGLUT, che dipende su di essi. – Bojangles

+0

Usando Xcode puoi semplicemente aggiungere una libreria ad un progetto e OpenGL è una libreria che può essere aggiunta così ho pensato che quei file fossero installati. Qualche idea su come faccio a farlo? Hehe ... – jasonaburton

risposta

12

Su Mac, la posizione di questi file di intestazione non è la stessa di Linux. Quindi, nel codice, sostituire questo:

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

con questo:

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

e che dovrebbe risolvere il problema.

+0

Sapete dove nei file di FreeGLUT avrò bisogno di fare quel cambiamento? – jasonaburton

+1

No, non lo so, ma per quanto ne so, non ne hai bisogno. GLUT è preinstallato su OS X, quindi puoi semplicemente seguire il tutorial con la GLUT che hai già sulla tua macchina, e il codice dovrebbe essere esattamente lo stesso. – Hassan

+1

L'impressione che ho ottenuto è che FreeGLUT era molto diverso da GLUT e l'esempio non funzionava come scritto. Se non riesco a farlo funzionare, proverò a usare GLUT. – jasonaburton

0

Questo tutorial, OpenGLBook.com, è basato su contesti di base di OpenGL 4.0, con 3.3 contesti fondamentali come alternativa. Nel migliore dei casi su OS X (con Mountain Lion) otterrai un contesto di core 3.2 che è abbastanza simile a 3.3 - ma sfortunatamente questo è incompatibile con GLUT - OS X include il GLUT originale (non modificato a causa di problemi di licenza), che richiede molti funzioni OpenGL obsolete che non sono disponibili in 3.2 contesti principali.

Se si desidera eseguire questo tutorial su OS X (10.6.3 o successivo) senza dover affrontare molte fastidiose incompatibilità e con OpenGL a prova di futuro, si consiglia di installare una versione recente di XQuartz (2.7.2 o più tardi), che include FreeGLUT (2.8.0 per iniziare).

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

+0

Ciao, non è stato in grado di ottenere un contesto 3.2 utilizzando FreeGLUT (via XQuartz). Sono stato in grado di ottenere un contesto 2.1 senza problemi, ma ho potuto ottenere solo 3.2 tramite Cocoa. Mi piacerebbe scoprire se questo può essere fatto. –

0

installazione freeglut via macports, modificare premake4.lua modo che costruisce l'Unofficial OpenGL SDK nel glsdk parte freeglut. copiare e incollare manualmente lib e includere le cartelle di freeglut (tramite macports) e modificare # include_GL/freeglut.h> all'interno di framework.cpp (cartella framework) in modo che trovi l'intestazione. anche riempire gli spazi vuoti nei nomi delle cartelle, ad es. Tut 13 Impostors -> Tut_13_Impostors

funziona per me

maggiori dettagli here