我试图在我的mac上使用osx 10.9在qt creator上构建一个opengl程序.
关于在osx10.9中弃用的过剩函数我得到了几个警告,示例错误信息如下:
关于在osx10.9中弃用的过剩函数我得到了几个警告,示例错误信息如下:
‘glutInit’已被弃用:首先在OS X 10.9中弃用[-Wdeprecated-declarations]
glutInit(& argc,& argv);
^
我想知道在osx10.9中GLUT.h是否不再可用?根据其他一些帖子,据说只要我们将“OS X部署目标”改回OSX10.8,那么它就可以了.如何在qtcreator中这样做?谢谢!
解决方法
您仍然可以在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>
然后,要使用GL3级别功能,您需要使用glutInitDisplayMode()的附加标志指定:
glutInitDisplayMode(... | GLUT_3_2_CORE_PROFILE);
看起来可能是开始使用GLFW的时候了.我从未将GLUT用于任何严肃的事情,但对于小型演示/测试来说它总是非常方便.