2014-06-07 18 views
6

Stavo cercando di creare un programma opengl su qt creator, installato sul mio mac, con osx 10.9. Mi sono diversi avvertimenti sulle funzioni glut circa la sua disapprovazione in osx10.9, un messaggio di errore di esempio è come:Disapprovazione di Glut in Mac OSX 10.9, IDE: QT Creator

'glutInit' è deprecato: dal deprecato in OS X 10.9 [-Wdeprecated-dichiarazioni] glutInit (& argc , & argv); ^

Mi chiedo se GLUT.h non sia più utilizzabile in osx10.9? Secondo alcuni altri post, si dice che finché cambiamo "OS X Deployment Target" su OSX10.8, allora funziona. Come farlo in qtcreator? Grazie!

+1

Se stai cercando un ricambio di sostituzione (che spero sarai presto) c'è GLFW (il mio preferito), SDL o freeglut. – Kos

+0

Grazie! Qual è la principale differenza tra GLFW e GLUT? –

+1

Inoltre, solo una domanda aperta, qualcuno ha idea del perché osx10.9 non supporti più il glut? Non è una buona biblioteca? –

risposta

10

È ancora possibile utilizzarlo in 10.9. Ti stanno inviando un segnale piuttosto forte che vogliono che tu smetta, anche se ...

Puoi disattivare questi avvisi con l'opzione del compilatore -Wno-deprecated-declarations.

C'è anche alcune difficoltà tra cui le intestazioni di destra se si sta cercando di utilizzare GL3 funzionalità a livello, perché è necessario includere gl3.h per questo, mentre glut.h include gl.h, che provoca ulteriori denunce di possibili conflitti durante la costruzione. La soluzione un po 'hacky che ho trovato per questo è di evitare che glut.h dall'includere gl.h definendo la guardia intestazione:

#include <OpenGL/gl3.h> 
#define __gl_h_ 
#include <GLUT/glut.h> 

Poi, per l'utilizzo di funzionalità di livello GL-3 +, è necessario specificare che con una bandiera supplementare per glutInitDisplayMode():

glutInitDisplayMode(... | GLUT_3_2_CORE_PROFILE); 

Sembra che sia probabilmente il momento di iniziare a utilizzare GLFW. Non ho mai usato GLUT per qualcosa di serio, ma è sempre stato molto conveniente per piccoli demo/test.

+0

@ AndonM.Coleman: È presente nella GLUT standard fornita con Xcode. Vai a controllare se non ci credi. È sulla riga 186 di 'glut.h' in entrambi i' 'MacOSX10.8.sdk' e' MacOSX10.9.sdk' forniti con Xcode 5.1. –

+0

Sì, hai ragione, mi dispiace. Ho guardato ma la macchina OS X che ho davanti a me ora gira 10.6, quindi non sorprende che la costante non esista ora che ci penso: PI stava mescolando quella costante con 'glutInitContextVersion (...) '(Soluzione di FreeGLUT). –