2014-03-26 148 views
0

我想在Eclipse C++上設置OpenGL。我按照[1]的答案中描述的步驟,但是,當我這樣做,它出現在以下幾點:在Eclipse中設置OpenGL(OSX)

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 <GLUT/glut.h> 

爲什麼出現這個錯誤?

[1] OpenGL and GLUT in Eclipse on OS X

+0

https://stackoverflow.com/questions/2068693/opengl-and-glut-in-eclipse-on-os-x?rq=1 – SAKrisT

回答

1

你跟蹤的針對Linux/BSD開發的教程。在MacOS X中,您既不使用X11服務器,也不直接鏈接到OpenGL接口庫。在MacOS中,您只需添加OpenGL框架(將-framework OpenGL添加到編譯器命令選項中)。我不是一個活躍的Eclipse用戶,但我很肯定,它承認MacOS X框架,您可以將OpenGL框架添加到它。

GLUT不是OpenGL的一部分,它是一個獨立的庫,但它曾經是MacOS X OpenGL框架的一部分。最近它被移入一個單獨的框架。

爲了進一步增加速度碰撞,蘋果決定,他們就會把OpenGL的頭文件不進入規範的地方GL/…,但進入OpenGL/…,讓你不得不與垃圾預處理#ifdef陳述

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