我试图在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用于任何严肃的事情,但是对于小型演示/测试而言,它总是非常方便。

08-17 05:47