在OS X Mavericks上安装FreeGLUT

时间:2013-10-29 01:26:24

标签: macos opengl glut freeglut

现在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用户?

4 个答案:

答案 0 :(得分:6)

Lazyfoo在OSX上构建FreeGLUT(2.8.0)的指南也为我工作 - 只需一次修改:他们的指南的步骤#4(适用于FreeGLUT 2.8.0)建议添加一个宏保护到FreeGLUT源文件中的一段代码。然而,FreeGLUT 2.8.1中的源文件带有三个宏保护,分布在引用的代码段中。我没有添加Lazyfoo的宏保护,而是必须删除第二个和第三个宏保护程序(随2.8.1版一起提供)以获取编译代码。希望这可以帮助。

答案 1 :(得分:1)

只是澄清一下,所包含的GLUT版本确实支持现代OpenGL。像这样创建你的上下文:

var startsWith = 'Começo';
var endsWith   = 'básico de um texto dissertativo são';

var text = 'Começo O texto dissertativo argumentativo tem como principais características a   apresentação de um raciocínio, a defesa de um ponto de vista ou o questionamento  de uma determinada realidade. O autor se vale de argumentos, de fatos, de dados,   que servirão para ajudar a justificar as ideias que ele irá desenvolver. As três  características básicas de um texto dissertativo são.'

var reg = new RegExp('(.*'+ startsWith +'\s+)(.*)(\s+'+ endsWith +'.*)');
var match = reg.exec(text);

获取OpenGL 4.1上下文。我也像这样排序我的包括:

glutInitDisplayMode(GLUT_3_2_CORE_PROFILE);

在使用不推荐使用的OpenGL函数时,可以访问较新的OpenGL函数并生成编译器错误。

要在命令行上构建,请执行以下操作:

#include <OpenGL/gl3.h>
#define __gl_h_
#include <GLUT/glut.h>

效果很好,无需安装任何其他库。

答案 2 :(得分:0)

对于迟到的答案感到抱歉,但如果这仍然不适合你,我建议您访问lazyfoo.net并转到OpenGL教程。第一个将指导您如何安装freeglut(尽管它可能是在Windows上为我工作的旧版本)。它有一个mac演练,我只是不能告诉你它有多好。值得一试。另外,如果你正在寻找教程,我已经完成了大部分教程并且非常好。

答案 3 :(得分:0)

  1. #include
  2. #include
  3. #if定义( APPLE
  4. #include
  5. 的#else
  6. #include
  7. #ENDIF
  8. 这些是b.c的标题

    这是make文件 cc b.c -o b -framework GLUT -framework opengl -Wno-deprecated

    ./ b查看gult的结果