web-dev-qa-db-fra.com

Désactiver les avertissements OpenGL sur macOS Mojave

Mon code est plein d'avertissements comme

'glTranslatef' est obsolète: d'abord obsolète dans macOS 10.14 - API OpenGL obsolète. (Définissez GL_SILENCE_DEPRECATION pour désactiver ces avertissements)

J'ai fait #define GL_SILENCE_DEPRECATION mais cela n'a pas résolu le problème. J'utilise freeglut qui a été installé à l'aide de brew install freeglut

Puis-je le faire taire d'une manière ou d'une autre?

8
Alexander

Vous devez mettre #define GL_SILENCE_DEPRECATION avant que OpenGL n'inclue, vous pouvez donc faire quelque chose de similaire à ceci:

#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

Une autre façon de contourner le problème consiste à passer l'option -Wno-deprecated-declarations au compilateur pendant la phase de compilation.

8
Vinícius Ferrão