在ubuntu中构建opengl着色器的错误

时间:2013-09-19 02:52:34

标签: opengl ubuntu shader glew

我正在尝试在Ubuntu下构建oglpg-8th版本。我已设置链接器并包含头文件夹,如下所示:

g ++ -L / home / maki / Downloads / oglpg-8th-edition / lib -o“test5”./ LoadShaders.o ./source.o -lglew32 -lfreeglut

当我使用eclipse构建它时,我得到:

./ LoadShaders.o:在函数LoadShaders': /home/bkk/workspace/test5/Debug/../LoadShaders.cpp:59: undefined reference to _ glewCreateProgram'中 /home/bkk/workspace/test5/Debug/../LoadShaders.cpp:63:对__glewCreateShader' /home/bkk/workspace/test5/Debug/../LoadShaders.cpp:70: undefined reference to _glewDeleteShader'的未定义引用 /home/bkk/workspace/test5/Debug/../LoadShaders.cpp:77:对__glewShaderSource' /home/bkk/workspace/test5/Debug/../LoadShaders.cpp:80: undefined reference to _ glewCompileShader'的未定义引用 /home/bkk/workspace/test5/Debug/../LoadShaders.cpp:83:对__glewGetShaderiv' /home/bkk/workspace/test5/Debug/../LoadShaders.cpp:98: undefined reference to的未定义引用 _glewAttachShader' /home/bkk/workspace/test5/Debug/../LoadShaders.cpp:109:对__glewLinkProgram' /home/bkk/workspace/test5/Debug/../LoadShaders.cpp:112: undefined reference to _ glewGetProgramiv'的未定义引用 /home/bkk/workspace/test5/Debug/../LoadShaders.cpp:125:对 _glewDeleteShader'的未定义引用

我也认为所有的软件包都已安装。我可能出错的任何想法?

1 个答案:

答案 0 :(得分:1)

在Linux中,您链接的库名为libGLEW。您的发行版可能有Linux的二进制形式的这个库,虽然它没有以这种方式正式分发。为Linux构建库时,应输出:libGLEW.so

因此,您的Makefile应该使用-lGLEW而不是-lglew32(这适用于MinGW / Cygwin)。