2016-09-14 108 views
-1

我在Mac上,我試圖編譯OpenGL和GLUT,但它不起作用,爲什麼? 下面是一個命令行嘗試建立(我使用NetBeans但這是命令行輸出窗口):如何編譯OpenGl和GLUT?

g++  -o dist/Debug/GNU-MacOSX/cppapplication_1 build/Debug/GNU-MacOSX/main.o -L/System/Library/Frameworks/OpenGL.framework/Libraries -lGL -lGLU 
Undefined symbols for architecture x86_64: 
    "_glutInitWindowPosition", referenced from: 
     _main in main.o 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

這裏是我的代碼:

#include <cstdlib> 
#include <iostream> 
#include <glut.h> 

using namespace std; 

/* 
* 
*/ 
int main(int argc, char** argv) { 

    glutInitWindowPosition(1,1); 
    return 0; 
} 

,這裏是我的NetBeans配置 enter image description here enter image description here

的信息,存在/System/Library/Framework/GLUT.framework沒有lib目錄...

enter image description here

回答

1

嘗試用這些-framework GLUT -framework OpenGL

,並可能:

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

是的,我試圖在Xcode做導入2個框架(因爲我不能在NetBeans)。編譯和鏈接成功,但沒有窗口顯示 –

+1

@johnathanMhehdi:那麼,爲什麼要那裏?你的代碼不會創建任何窗口。 – derhass