我试图在OS X 10.9上的Mac上安装的qt creator上构建opengl程序。
我在osx10.9中收到有关过剩功能过剩的警告,示例错误消息如下:
不建议使用“glutInit”:在OS X 10.9中首先不建议使用[-Wdeprecated-declarations]
glutInit(&argc,&argv);
^
我想知道GLUT.h在osx10.9中是否不再可用?根据其他一些帖子,据说只要我们将“OS X Deployment Target”改回OSX10.8,它就可以工作。如何在qtcreator中这样做?谢谢!
最佳答案
您仍然可以在10.9中使用它。他们向您发送了一个强烈的信号,他们希望您停止前进,但是...
您可以使用-Wno-deprecated-declarations
编译器选项禁用这些警告。
如果您尝试使用GL3级别的功能,还存在一些困难,包括正确的 header ,因为您需要为此添加gl3.h
,而glut.h
包含gl.h
,这会导致在构建时可能发生冲突的其他投诉。我为此找到的一种有点怪异的解决方法是通过定义 header 防护来防止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用于任何严肃的事情,但是对于小型演示/测试而言,它总是非常方便。