Mac OSX 10.9,IDE:QT Creator中的Glut弃用

Clu*_*lla 8 c++ opengl glut osx-mavericks deprecation-warning

我试图在我的mac上安装的qt creator上用osx 10.9构建一个opengl程序.关于在osx10.9中弃用的过剩函数,我收到了几个警告,示例错误信息如下:

'glutInit'已被弃用:首先在OS X 10.9中弃用[-Wdeprecated-declarations] glutInit(&argc,&argv); ^

我想知道在osx10.9中GLUT.h是否不再可用?根据其他一些帖子,据说只要我们将"OS X部署目标"改回OSX10.8,那么它就可以了.如何在qtcreator中这样做?谢谢!

Ret*_*adi 10

你仍然可以在10.9中使用它.他们向你发出一个非常强烈的信号,他们希望你停下来,但......

您可以使用-Wno-deprecated-declarations编译器选项禁用这些警告.

如果您尝试使用GL3级功能,还有一些困难,包括正确的标题,因为您需要包含gl3.h此功能,而glut.h包括在内gl.h,这会导致在构建时可能发生冲突的其他投诉.我找到的有点hacky解决方法是通过定义标头防护来防止glut.h包括gl.h:

#include <OpenGL/gl3.h>
#define __gl_h_
#include <GLUT/glut.h>
Run Code Online (Sandbox Code Playgroud)

然后,要使用GL3 +级别功能,您需要使用附加标志指定glutInitDisplayMode():

glutInitDisplayMode(... | GLUT_3_2_CORE_PROFILE);
Run Code Online (Sandbox Code Playgroud)

看起来可能是开始使用GLFW的时候了.我从未将GLUT用于任何严肃的事情,但对于小型演示/测试来说它总是非常方便.