-1

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

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'

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

4

1 回答 1

1

在 Linux 中,您链接的库称为libGLEW. 你的发行版可能有这个 Linux 的二进制形式的库,尽管它不是以这种方式正式发行的。当您为 Linux 构建库时,它应该输出:libGLEW.so.

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

于 2013-09-19T07:43:17.387 回答