【问题标题】:How to use openGL with gcc on Mac?如何在 Mac 上使用 openGL 和 gcc?
【发布时间】:2014-05-26 17:44:42
【问题描述】:

我正在尝试使用 gcc 从命令行在我的 Mac 上运行 this openGL 示例。 XCode 已安装,gcc 多次与其他程序一起使用(无图形)。

按照我运行的this 主题:

g++ 1.cpp -framework OpenGL -lGLU -lglut

然后得到:

1.cpp:12:21: fatal error: GL/glut.h: No such file or directory

我在/System/Library/Frameworks/GLUT.framework/Headers/ 找到了glut.h,并注意到结构不同(不是 GL 文件夹)。但即使删除GL/ 并使用-I/System/Library/Frameworks/GLUT.framework/Headers/ 也无济于事..

所以我想知道 - 如何在 Mac 上正确使用 openGL 和 gcc?

【问题讨论】:

    标签: c++ macos opengl gcc


    【解决方案1】:

    关于使用包含的小牛

    #include <GLUT/glut.h>
    

    如果您使用以下行进行编译,则可以使用

    g++ 1.cpp -framework OpenGL -framework GLUT
    

    【讨论】:

      【解决方案2】:

      您的第一个问题是 Apple 的框架基础架构通过将 OpenGL 标头放置在非标准路径中来积极破坏代码的可移植性。在 Apple 平台上,OpenGL 标头位于名为 OpenGL 而不仅仅是 GL 的目录中。

      所以要可移植地包含您必须编写的标题

      #ifdef __APPLE__
      #include <OpenGL/gl.h>
      #else
      #include <GL/gl.h>
      #endif
      

      您的另一个问题是,GLUT 不是 OpenGL 的一部分,也是一个独立的第三方库,它不再包含在 OpenGL 框架中。您需要使用 GLUT 框架。当然,它也使用非标准的包含路径:

      #ifdef __APPLE__
      #include <GLUT/glut.h>
      #else
      #include <GL/glut.h>
      #endif
      

      使用-framework OpenGL -framework GLUT 选项进行编译。

      【讨论】:

        猜你喜欢
        • 2012-05-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-06
        • 1970-01-01
        • 1970-01-01
        • 2011-06-23
        相关资源
        最近更新 更多