在Eclipse中设置OpenGL(OSX)

时间:2014-03-26 14:21:39

标签: c++ eclipse macos opengl

我正在尝试在Eclipse C ++上设置OpenGL。我已经按照[1]的答案中描述的步骤进行了操作,但是,当我这样做时,它显示如下:

Building target: opengltest
Invoking: MacOS X C++ Linker
g++ -L/Developer/SDKs/MacOSX10.5.sdk/usr/X11/lib -L/Developer/SDKs/MacOSX10.5.sdk/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries -framework GLUT -framework OpenGL -framework Cocoa  -arch i686 -o "opengltest"  ./main.o   -lgl -lglu -lglut
ld: library not found for -lglut
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [opengltest] Error 1

我还将include行更改为:

#include <GLUT/glut.h>

为什么会出现此错误?

[1] OpenGL and GLUT in Eclipse on OS X

1 个答案:

答案 0 :(得分:1)

您遵循了针对Linux / BSD开发人员的教程。在MacOS X中,您既不使用X11服务器也不直接链接到OpenGL接口库。在MacOS中,您只需添加OpenGL框架(将-framework OpenGL添加到编译器命令选项中)。我不是活跃的Eclipse用户,但我非常确定,它识别了MacOS X框架,您只需添加OpenGL框架即可。

GLUT不是OpenGL的一部分,它是一个独立的库,但它曾经是MacOS X OpenGL框架的一部分。最近它被转移到一个单独的框架中。

为了进一步增加速度颠簸,Apple决定,他们不会将OpenGL头文件放入规范的地方GL/…,而是放入OpenGL/…,这样你就不得不使用#ifdef预处理程序语句

丢弃程序源文本
#ifdef __APPLE__
#include <OpenGL/gl.h>
#else
#include <GL/gl.h>
#endif