macOS Mojave如何消除OpenGL警告

17

我的代码中有很多警告,如下所示:

'glTranslatef'已经被弃用:在macOS 10.14中首次弃用 - OpenGL API已弃用。(定义GL_SILENCE_DEPRECATION可消除这些警告)

我已经使用了#define GL_SILENCE_DEPRECATION,但这并没有解决问题。我使用的是通过brew install freeglut安装的freeglut

我能以某种方式将其消除吗?


1
你把 #define 放在哪里了?你必须在包含头文件之前放置它。 - Dietrich Epp
@DietrichEpp,就在头文件之后。现在已经修复了。谢谢! - Alexander
你应该接受已经给出的答案,因为你说它解决了你的问题。我知道这是一个旧帖子,但我刚刚发现它,而协议就是协议。 - Duncan C
1个回答

29

在OpenGL的头文件之前,应该加入#define GL_SILENCE_DEPRECATION,这样您就可以像这样做:

#ifdef __APPLE__
/* Defined before OpenGL and GLUT includes to avoid deprecation messages */
#define GL_SILENCE_DEPRECATION
#include <OpenGL/gl.h>
#include <GLUT/glut.h>
#else
#include <GL/gl.h>
#include <GL/glut.h>
#endif

另一种解决该问题的方法是在编译阶段向编译器传递选项-Wno-deprecated-declarations


1
正常工作。谢谢。 - Fahim Rahman

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接