我正在尝试在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'的未定义引用
我也认为所有的软件包都已安装。我可能出错的任何想法?
答案 0 :(得分:1)
在Linux中,您链接的库名为libGLEW
。您的发行版可能有Linux的二进制形式的这个库,虽然它没有以这种方式正式分发。为Linux构建库时,应输出:libGLEW.so
。
因此,您的Makefile应该使用-lGLEW
而不是-lglew32
(这适用于MinGW / Cygwin)。