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)。