我刚尝试在Mac上编译一个开源C ++应用程序。我找不到错误GL / gl.h文件。我知道这意味着它无法找到需要编译和运行的开放式GL库。我对下一步该怎么做感到困惑,因为
所以我对下一步做什么很困惑。我是否下载OpenGL并将其链接到我的项目?我是否将xcode配置为使用OpenGL的原生版本?我是否更改了标题?
有人可以提供更多方向。这个答案给出了windows / linux的答案 - 但不是OS X: How to get the GL library/headers?
答案 0 :(得分:10)
Apple认为如果它们与其他人不兼容并且将OpenGL标头放在名为OpenGL
的目录中而不仅仅是GL
,那就太聪明了。所以你必须使用
#include <OpenGL/gl.h>
在Apple系统上和
#include <GL/gl.h>
其他地方。编译器预定义的预处理器宏是你的朋友。
#ifdef __APPLE__
# include <OpenGL/gl.h>
#else
# include <GL/gl.h>
#endif/*__APPLE__*/
答案 1 :(得分:1)
“OS X包含对OpenGL的内置支持”是对的!
Windows也可以!但问题是Windows只允许您访问OpenGL 1.1函数......上面的所有内容都必须通过扩展来完成!可以在此处找到OpenGL扩展:http://www.opengl.org/registry/
但是因为设置这些扩展程序非常无聊,您可以使用GLEW或类似内容......
另一个非常常见的问题是如何在Windows上正确打开OpenGL上下文!如果您按照NeHe之类的旧教程进行操作,那么现在就会遇到一些问题。解决方案是使用类似GLFW,过剩,freeglut或类似的东西......
使用这一对“context + extensions”,您将能够轻松创建上下文并使用您可能在OS X上使用的“现代OpenGL”功能中的任何功能。我特别喜欢“GLFW + GLEW”!< / p>