编译OpenGL和GLUT OSX

8
我在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下的情况。 - trojanfoe
我尝试了一下,没有安装其他任何东西就可以运行。唯一不同的是我的-L/System/Library/Frameworks,所以整个编译命令应该是gcc -o foo foo.c -L/System/Library/Frameworks -framework GLUT -framework OpenGL - BRabbit27
3个回答

4

如果您没有安装glutg3-dev,可以按照以下方式使用OS X GLUT和OpenGL框架

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

请注意,告诉编译器框架的路径非常重要。

1
通常情况下,您不需要使用“-L”选项,编译器知道在哪里找到框架。如果您使用最新版本的Xcode,则它们不再位于“/System/Library/Frameworks”中。好吧,在运行时使用的框架仍然存在。但是框架的开发部分(如头文件)已经不存在了。 - Reto Koradi

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

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接