GLEW 链接错误 [重复]
Posted
技术标签:
【中文标题】GLEW 链接错误 [重复]【英文标题】:GLEW linking errors [duplicate] 【发布时间】:2012-08-26 20:35:38 【问题描述】:我正在尝试从一个网站上整理一个 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 目录中。从谷歌搜索我的问题,这似乎是解决方案,但它不适合我。
【问题讨论】:
这些链接错误与 GLSL、着色器或类似的东西无关。这只是链接到用于加载 OpenGL 的 GLEW 的失败。 如何解决这些错误? #pragma comment(lib, "glew32.lib" 是的,这也是我遇到的错误。您需要在链接器设置中包含“opengl32.lib”。 【参考方案1】:为自己省去很多的麻烦,只需将glew.c
添加到您的项目中即可。确保你#define GLEW_STATIC
,一切都会好起来的。尝试动态链接到 GLEW 是不值得的。
【讨论】:
【参考方案2】:我在使用 VS 时遇到了同样的链接问题。
原来你应该使用 Win32 lib 而不是 x64 lib
【讨论】:
【参考方案3】:使用 GLEW_BUILD 预处理器指令构建 glew(即 glew 项目设置 -> c/c++ -> 预处理器 -> 附加定义)
【讨论】:
以上是关于GLEW 链接错误 [重复]的主要内容,如果未能解决你的问题,请参考以下文章