【发布时间】:2013-10-29 01:26:24
【问题描述】:
现在 OS X 可以使用 OpenGL 4+,我想开始学习更现代的 OpenGL。我关注的tutorial 使用 FreeGLUT 作为窗口框架。虽然 OS X 有 Apple 自己对 GLUT 的改编,但它已经过时并且不能与现代 OpenGL 一起使用。为了安装 FreeGLUT,我首先安装了 X11 2.7.4(以获得 GL/glx.h)。然后我从 FreeGLUT 网站下载了 FreeGLUT 的 tar 球... 2.8.1 版。然后我在终端执行了以下操作:
./configure CFLAGS="-I/usr/X11/include/X11/extensions -L/usr/X11/lib" LIBS="-lXrandr -lXxf86vm -lXi" --with-x --x-includes=/usr/X11/include
据我所知,这很有效。我开始做所有事情,并得到了很多:
clang: warning: argument unused during compilation: '-L/usr/X11/lib'
smooth_opengl3.c:131:1: error: unknown type name 'PFNGLGENBUFFERSPROC'
PFNGLGENBUFFERSPROC gl_GenBuffers;
我收到了无数这样的错误;名字都附加了PFNGL。
然后我收到一个致命错误,指出发出了太多错误,并且 make 将被停止。
任何知道如何解决此问题的 OS X 或 OpenGL 用户?
【问题讨论】:
-
好吧,那行不通。该教程是为使用 X11(可能是 Linux 或一些 BSD 变体)的操作系统编写的。 OS X 使用自己的称为 Quartz 的窗口系统。您也不会在 OS X 上运行时加载扩展。并且您使用像
-framework OpenGL这样的指令。您尝试遵循的教程有太多问题,我建议您查看基本的 OS X 教程以获得有效的构建环境,然后尝试遵循您尝试实现的任何特殊内容。 -
Andon M. Coleman - 虽然严格地说,OS X 使用 Quartz 作为其本机窗口系统是正确的,但 Mac 在 1980 年代后期的 System 6.x 上支持 X11。今天为 Mac OS X 实现的 X11 或多或少是 Quartz 的一个包装器。许多 *NIX/X11 程序已移植到 X11。它们并不总是开箱即用,但大多数都可以。
标签: macos opengl glut freeglut