我找不到在Linux下编译以下测试代码的方法(为Mac开发的程序的一部分)
#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
但是不知道怎么解决。我对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)。