0
我不能找到一種方法,在Linux下編譯下面的測試代碼(適用於Mac開發計劃的一部分)OpenGL的編譯 - glGetUniformLocation沒有宣佈
#include<GL/glui.h>
void test(){
const char *name
GLint uni_loc,x,y ;
GLuint id;
glVertex2i(x, y);
uni_loc = ::glGetUniformLocation(id, name) ;
}
我試圖編譯它:
g++ -c test.cpp -lglut -lGL -lGLU
g++ -c -lglut -lGL -lGLU test.cpp
我得到一個鏈接錯誤的glGetUniformLocation功能:
'::glGetUniformLocation' has not been declared
但d不知道如何解決它。我沒有openGl的知識,並在不同的實現之間完全丟失。我發現這個函數的定義在
/usr/include/GL/gl_mangle.h
/usr/include/GL/glew.h
/usr/include/GL/glext.h
難道是我有錯誤版本的GL嗎?
我已經安裝了以下軟件包:
freeglut3 freeglut3-dev libglew1.5 libglew1.5-dev libglu1-mesa libglu1-mesa-dev libgl1-mesa-glx libgl1-mesa-dev mesa-common-dev
和gcc版本4.7.2(Debian的4.7.2-5)。