【问题标题】:Compiling OpenGL and GLUT OSX编译 OpenGL 和 GLUT OSX
【发布时间】:2013-08-24 17:22:08
【问题描述】:

我在 Mac OSX 上使用 OpenGL 和 GLUT 框架编译 C 程序时遇到了困难。我刚刚开始,我尝试运行本教程中关于如何安装 OpenGL 的代码。 http://www.prinmath.com/csci5229/misc/install.html.

代码如下:

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

int main(){
    return 0;
}

我正在尝试编译它:

gcc -o foo foo.c -framework GLUT -framework OpenGL

我收到此错误:

foo.c:2:23: error: GLUT/glut.h: No such file or directory

在这里做了一些进一步的研究后,http://web.eecs.umich.edu/~sugih/courses/eecs487/glut-howto/,我查看了 /System/Library/Frameworks/ 以及 OpenGL.framework 和 GLUT.framework。

非常感谢任何帮助!谢谢!

【问题讨论】:

  • 在 10.9 DP5 和 Clang LLVM 5.0 下为我工作。
  • 我试过了,它对我有用,没有安装任何其他东西。我唯一不同的是-L/System/Library/Frameworks,所以整个编译行应该是gcc -o foo foo.c -L/System/Library/Frameworks -framework GLUT -framework OpenGL

标签: c macos opengl


【解决方案1】:

无需安装 glutg3-dev 即可使用 OS X GLUT 和 OpenGL 框架,如下所示

gcc -o foo foo.c -L/System/Library/Frameworks -framework GLUT -framework OpenGL

请注意,告诉编译器到框架的路径很重要

【讨论】:

  • 您通常不需要-L 选项,编译器知道在哪里可以找到框架。如果您使用最新版本的 Xcode,它们将不在 /System/Library/Frameworks 中。好吧,运行时使用的框架仍然存在。但不是框架的开发部分,如头文件。
【解决方案2】:

您需要安装 OpenGL Utility Toolkit glutg3-dev lib。如果它已经存在,则使用 -lglut -lGLU -lGL 选项进行编译。

【讨论】:

    【解决方案3】:

    在 Catalina (10.15.7)、XCode 12.4 (12D4e) 上,这对我有用:

    #include <OpenGL/gl.h>
    #include <OpenGL/glu.h>
    #include <GLUT/glut.h>
    ...
    

    然后编译

    gcc code.c -framework GLUT -framework OpenGL
    

    【讨论】:

      猜你喜欢
      • 2015-01-06
      • 2011-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-16
      • 1970-01-01
      • 2011-03-25
      • 1970-01-01
      相关资源
      最近更新 更多