[OpenGL]解决MacOs上报错“‘glTranslatef’ is deprecated: first deprecated in macOS 10.14”

   日期:2020-09-26     浏览:480    评论:0    
核心提示:10.9以上的MacOS系统OpenGL有了新的API来替代之前的GLUT库,之前的GLUT库里很多函数被标记为了deprecated,即将废弃的,但是考虑兼容性,当前系统版本还是支持的。下面介绍如何消除这些警告提示。报错如下:'glTranslatef' is deprecated: first deprecated in macOS 10.14 - OpenGL API deprecated. (Define GL_SILENCE_DEPRECATION to silence these warn

10.9以上的MacOS系统OpenGL有了新的API来替代之前的GLUT库,之前的GLUT库里很多函数被标记为了deprecated,即将废弃的,但是考虑兼容性,当前系统版本还是支持的。

下面介绍如何消除这些警告提示。

报错如下:

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

根据报错我们定义GL_SILENCE_DEPRECATION

#define GL_SILENCE_DEPRECATION

但是警告并没有消失,原因是我们必须吧该语句放在includeOpenGL文件之前:

#ifdef __APPLE__

#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选项给编译器。

此外还有一个警告是无法删除的:

OpenGl is deprecated.Consider migrating to Metal instead

这个就是提示现在GLUT已经弃用,可以转向使用Metal,相关转换教程可参考https://www.raywenderlich.com/9211-moving-from-opengl-to-metal。

参考:
https://stackoverflow.com/questions/53562228/silencing-opengl-warnings-on-macos-mojave

https://blog.csdn.net/oktears/article/details/42214519?utm_source=app

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服