提问人:user1748405 提问时间:10/16/2012 更新时间:12/8/2021 访问量:2292
OpenGL/glew 未解析的外部符号
OpenGL/glew unresolved external symbols
问:
我遇到了 glew 和链接器错误的问题。我有:
- 将 glew32.dll 和 glew32d.dll 放入系统、System32 和 SysWOW64
- 将 glew.h 放在 GL 文件夹中
- 将 glew32.lib、glew32d.lib、glew32s.lib 放在 Lib 文件夹中
- 将 glew32.lib、glew32d.lib、glew32s.lib、glut32.lib、opengl32.lib 放在其他依赖项中
- 将GLEW_STATIC放入预处理器定义中
但是,我仍然收到以下错误:
1>project2.obj : error LNK2001: unresolved external symbol ___glewGetProgramInfoLog
1>project2.obj : error LNK2001: unresolved external symbol ___glewGetShaderInfoLog
1>project2.obj : error LNK2001: unresolved external symbol ___glewGetProgramiv
1>project2.obj : error LNK2001: unresolved external symbol ___glewGetShaderiv
1>project2.obj : error LNK2001: unresolved external symbol ___glewIsShader
1>project2.obj : error LNK2001: unresolved external symbol ___glewGetUniformLocation
1>project2.obj : error LNK2001: unresolved external symbol ___glewLinkProgram
1>project2.obj : error LNK2001: unresolved external symbol ___glewAttachShader
1>project2.obj : error LNK2001: unresolved external symbol ___glewCreateProgram
1>project2.obj : error LNK2001: unresolved external symbol ___glewCompileShader
1>project2.obj : error LNK2001: unresolved external symbol ___glewShaderSource
1>project2.obj : error LNK2001: unresolved external symbol ___glewCreateShader
1>project2.obj : error LNK2001: unresolved external symbol ___glewEnableVertexAttribArray
1>project2.obj : error LNK2001: unresolved external symbol ___glewVertexAttribPointer
1>project2.obj : error LNK2001: unresolved external symbol ___glewBufferData
1>project2.obj : error LNK2001: unresolved external symbol ___glewBindBuffer
1>project2.obj : error LNK2001: unresolved external symbol ___glewGenBuffers
1>project2.obj : error LNK2001: unresolved external symbol ___glewBindVertexArray
1>project2.obj : error LNK2001: unresolved external symbol ___glewGenVertexArrays
1>project2.obj : error LNK2001: unresolved external symbol ___glewUniformMatrix3fv
1>project2.obj : error LNK2001: unresolved external symbol ___glewUniformMatrix4fv
1>project2.obj : error LNK2001: unresolved external symbol ___glewUniform3f
1>project2.obj : error LNK2001: unresolved external symbol ___glewUniform1f
1>project2.obj : error LNK2001: unresolved external symbol ___glewUseProgram
我是否遗漏了什么?我还有什么可以尝试的吗?谢谢。
答:
0赞
DekuDesu
12/8/2021
#1
如果使用的是静态库,则需要定义预处理器标志才能解析符号。glew32s.lib
GLEW_STATIC
您可以在源代码内使用
#define GLEW_STATIC
或将其添加到项目的预处理器指令中
Project Properties > C/C++ > Preprocessor > Preprocessor Definitions
如果之后仍有未解析的外部符号,可能还需要
将 OpenGL32.lib
添加为链接器的附加依赖项。
如果在此之后,您仍然有关于 glew 的未解析符号,请确保您确实已将其添加到链接器搜索的库目录中。您可以将其添加到.lib
Project Properties > Linker > General > Additional Library Directories
评论
x64