我试图在我的mac上使用osx 10.9在qt creator上构建一个opengl程序。 关于在osx10.9中弃用它的过剩函数,我收到了几个警告,示例错误信息如下:
'glutInit'已被弃用:首先在OS X 10.9中弃用[-Wdeprecated-declarations] glutInit(& argc,& argv); ^
我想知道在osx10.9中GLUT.h是否不再可用?根据其他一些帖子,据说只要我们将“OS X部署目标”改回OSX10.8,那么它就可以了。如何在qtcreator中这样做?谢谢!
答案 0 :(得分:10)
你仍然可以在10.9中使用它。他们会向你发送一个非常强烈的信号,他们希望你停下来,但是......
您可以使用-Wno-deprecated-declarations
编译器选项禁用这些警告。
如果您尝试使用GL3级功能,还有一些困难,包括正确的标题,因为您需要包含gl3.h
,而glut.h
包含{gl.h
1}},这会引起关于建设时可能发生的冲突的额外投诉。我发现这种有点愚蠢的解决方法是通过定义标题保护来防止glut.h
包含gl.h
:
#include <OpenGL/gl3.h>
#define __gl_h_
#include <GLUT/glut.h>
然后,要使用GL3 +级别功能,您需要使用glutInitDisplayMode()
的附加标记来指定:
glutInitDisplayMode(... | GLUT_3_2_CORE_PROFILE);
看起来可能是开始使用GLFW的时候了。我从未将GLUT用于任何严肃的事情,但对于小型演示/测试来说它总是非常方便。