GLEW链接错误

4
我正在尝试从一个网站上组合一个GLSL示例程序,只是为了让我更好地了解着色器。
这个着色器示例程序来自http://www.swiftless.com/tutorials/glsl/1_setup.html#DL
1>------ Build started: Project: TheLightingExperiment2, Configuration: Debug Win32 ------

1>shader.obj : error LNK2001: unresolved external symbol __imp____glewLinkProgram

1>shader.obj : error LNK2001: unresolved external symbol __imp____glewAttachShader

1>shader.obj : error LNK2001: unresolved external symbol __imp____glewCreateProgram

1>shader.obj : error LNK2001: unresolved external symbol __imp____glewCompileShader

1>shader.obj : error LNK2001: unresolved external symbol __imp____glewShaderSource

1>shader.obj : error LNK2001: unresolved external symbol __imp____glewCreateShader

1>shader.obj : error LNK2001: unresolved external symbol __imp____glewDeleteProgram

1>shader.obj : error LNK2001: unresolved external symbol __imp____glewDeleteShader

1>shader.obj : error LNK2001: unresolved external symbol __imp____glewDetachShader

1>shader.obj : error LNK2001: unresolved external symbol __imp____glewUseProgram

1>C:\Users\Shawn\Desktop\TheLightingExperiment2\Debug\TheLightingExperiment2.exe : fatal error LNK1120: 10 unresolved externals

========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

错误似乎是由于glew未正确链接引起的。但我按照glew的文档链接glew @ http://glew.sourceforge.net/install.html,仍然出现这些错误。我已经将glew32.lib放入链接器->输入中。我已经将glew32.lib放入VC lib目录,以及将glew包含文件放入VC include目录。从我的问题中搜索谷歌,这似乎是解决方案,但对我不起作用。

3
这些链接错误与GLSL、着色器或类似内容无关。这只是在链接到GLEW时出现了故障,而您使用它来加载OpenGL。 - Nicol Bolas
我该如何解决这些错误? - shawn a
[#pragma comment(lib, "glew32.lib")](https://stackoverflow.com/questions/18787376/lnk2001-error-opengl-visual-studio-2010) - Seyed Morteza Kamali
是的,那也是我遇到的错误。你需要在链接器设置中包含“opengl32.lib”。 - Eric Petersen
3个回答

9

为了避免不必要的麻烦,建议将glew.c添加到你的项目中。记得使用#define GLEW_STATIC,这样一切都会很好。不必尝试动态链接到GLEW。


3

我在使用VS时遇到了同样的链接问题。

后来发现,应该使用Win32库而不是x64库。


1

使用 GLEW_BUILD 预处理器指令构建 glew(即 glew 项目设置 -> c/c++ -> 预处理器 -> 附加定义)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接