繁体   English   中英

何时在OS X上使用OpenGL vs GL

[英]When to use OpenGL vs GL on OS X

努力争取可以编译的东西后,我意识到需要更改一些代码:

#ifdef __APPLE__
#include "OpenGL/gl.h"
#include "OpenGL/glx.h"
#else 
...

需要更改为:

#ifdef __APPLE__ 
#include "GL/gl.h"
#include "GL/glx.h"
#else
#...

安装完Quartz之后。 但是,这也起作用:

#ifdef __APPLE__ 
#include "OpenGL/gl.h"
#include "GL/glx.h"
#else
#...

但是OpenGL/glx.h不存在。

OS X上不同的标头位置是什么意思? 为什么在OpenGL文件中有两个不同的位置?

第一:您使用了错误的包含路径; 我很惊讶这一切都奏效。 您想要的是:

#include <OpenGL/gl.h>

请注意使用尖括号代替引号,并大写OpenGL

(您可能需要将OpenGL框架添加到项目中才能完成此工作。如果您不使用XCode,请在编译器标志中添加-framework OpenGL 。)

第二:不要在Mac应用程序中使用glx.h GLX是X11窗口系统的扩展,它提供了对GL的支持-它主要用于在使用X11作为其桌面界面的UNIX / Linux系统上使用。 macOS桌面界面不基于X11,因此您不需要GLX。


路径说明:

  • macOS上的GL/路径指的是X11 GL标头,如果您安装了XQuartz,则该标头可能会出现。 它们不是您想要的。

  • OpenGL/是指OpenGL框架。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM