Silencing OpenGL warnings on macOS Mojave
Asked Answered
O

1

18

My code is full of warnings like

'glTranslatef' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECATION to silence these warnings)

I did #define GL_SILENCE_DEPRECATION but that didn't fix the issue. I use freeglut that was installed by using brew install freeglut

Can I silence it somehow?

Outside answered 30/11, 2018 at 17:28 Comment(3)
Where did you put the #define? You have to put it befor you include the header file.Selfliquidating
@DietrichEpp it was right after the header. It's fixed now. Thanks!Outside
You should accept the answer that was given since you said it solved your problem. I realize this is an old post, but I just found it, and protocol is protocolRuhnke
S
32

#define GL_SILENCE_DEPRECATION must go before OpenGL includes, so you can do something similar to this:

#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

Another way to workaround the issue is to pass the option -Wno-deprecated-declarations to the compiler during the compile phase.

Sy answered 12/4, 2019 at 4:9 Comment(1)
Works as expected. Thanks.Lubricator

© 2022 - 2024 — McMap. All rights reserved.