链接库错误 c/缺少 dll/错误版本?

Linking library error c/missing dll/wrong version?

本文关键字:错误 版本 dll 缺少 链接      更新时间:2023-10-16
Severity    Code    Description Project File    Line    Suppression State
Error   LNK1120 22 unresolved externals OpenGL2 C:UsersDareksourcereposOpenGL2DebugOpenGL2.exe   1   
Error   LNK2019 unresolved external symbol __imp__glewInit@0 referenced in function _main   OpenGL2 C:UsersDareksourcereposOpenGL2OpenGL2OpenGL2.obj 1   
Error   LNK2001 unresolved external symbol __imp____glewBindBuffer  OpenGL2 C:UsersDareksourcereposOpenGL2OpenGL2OpenGL2.obj 1   
Error   LNK2001 unresolved external symbol __imp____glewBufferData  OpenGL2 C:UsersDareksourcereposOpenGL2OpenGL2OpenGL2.obj 1   
Error   LNK2001 unresolved external symbol __imp____glewDeleteBuffers   OpenGL2 C:UsersDareksourcereposOpenGL2OpenGL2OpenGL2.obj 1   
Error   LNK2001 unresolved external symbol __imp____glewGenBuffers  OpenGL2 C:UsersDareksourcereposOpenGL2OpenGL2OpenGL2.obj 1   
Error   LNK2001 unresolved external symbol __imp____glewAttachShader    OpenGL2 C:UsersDareksourcereposOpenGL2OpenGL2OpenGL2.obj 1   
Error   LNK2001 unresolved external symbol __imp____glewCompileShader   OpenGL2 C:UsersDareksourcereposOpenGL2OpenGL2OpenGL2.obj 1   
Error   LNK2001 unresolved external symbol __imp____glewCreateProgram   OpenGL2 C:UsersDareksourcereposOpenGL2OpenGL2OpenGL2.obj 1   
Error   LNK2001 unresolved external symbol __imp____glewCreateShader    OpenGL2 C:UsersDareksourcereposOpenGL2OpenGL2OpenGL2.obj 1   
Error   LNK2001 unresolved external symbol __imp____glewDeleteProgram   OpenGL2 C:UsersDareksourcereposOpenGL2OpenGL2OpenGL2.obj 1   
Error   LNK2001 unresolved external symbol __imp____glewDeleteShader    OpenGL2 C:UsersDareksourcereposOpenGL2OpenGL2OpenGL2.obj 1   
Error   LNK2001 unresolved external symbol __imp____glewEnableVertexAttribArray OpenGL2 C:UsersDareksourcereposOpenGL2OpenGL2OpenGL2.obj 1   
Error   LNK2001 unresolved external symbol __imp____glewGetAttribLocation   OpenGL2 C:UsersDareksourcereposOpenGL2OpenGL2OpenGL2.obj 1   
Error   LNK2001 unresolved external symbol __imp____glewLinkProgram OpenGL2 C:UsersDareksourcereposOpenGL2OpenGL2OpenGL2.obj 1   
Error   LNK2001 unresolved external symbol __imp____glewShaderSource    OpenGL2 C:UsersDareksourcereposOpenGL2OpenGL2OpenGL2.obj 1   
Error   LNK2001 unresolved external symbol __imp____glewUseProgram  OpenGL2 C:UsersDareksourcereposOpenGL2OpenGL2OpenGL2.obj 1   
Error   LNK2001 unresolved external symbol __imp____glewVertexAttribPointer OpenGL2 C:UsersDareksourcereposOpenGL2OpenGL2OpenGL2.obj 1   
Error   LNK2001 unresolved external symbol __imp____glewBindFragDataLocation    OpenGL2 C:UsersDareksourcereposOpenGL2OpenGL2OpenGL2.obj 1   
Error   LNK2001 unresolved external symbol __imp____glewBindVertexArray OpenGL2 C:UsersDareksourcereposOpenGL2OpenGL2OpenGL2.obj 1   
Error   LNK2001 unresolved external symbol __imp____glewDeleteVertexArrays  OpenGL2 C:UsersDareksourcereposOpenGL2OpenGL2OpenGL2.obj 1   
Error   LNK2001 unresolved external symbol __imp____glewGenVertexArrays OpenGL2 C:UsersDareksourcereposOpenGL2OpenGL2OpenGL2.obj 1   
Error   LNK2001 unresolved external symbol __imp__glewExperimental  OpenGL2 C:UsersDareksourcereposOpenGL2OpenGL2OpenGL2.obj 1   

就像你看到的,我可能在链接库时遇到问题。我尝试了很多不同的方法,可以产生此错误,但我仍然可以找出它是什么。

我有项目要做,从我的学校,与这个图书馆:GLEW,SFML。

我使用Visual Studio 2019。我想我链接了正确的库:

项目 -> 属性 ->配置属性 -> C/C++ -> 常规 -> 其他包含目录

$(SolutionDir)SFML-2.5.1include
$(SolutionDir)glew-2.1.0include

项目 -> 属性 ->配置属性 -> 链接器 -> 常规 -> 其他库目录

$(SolutionDir)glew-2.1.0libReleaseWin32
$(SolutionDir)SFML-2.5.1lib

项目 -> 属性 ->配置属性 -> 链接器 -> 输入>其他依赖项

sfml-graphics-d.lib
sfml-window-d.lib
sfml-audio-d.lib
sfml-network-d.lib
sfml-system-d.lib
opengl32.lib

我在调试和发布目录中添加了 dll 文件:glew32.dll、sfml-system-d-2.dll、sfml-window-2-d.dll、sfml-system-d.dll、sfml-window-2.dll。

我想也许我只是放错了x86/x64版本,所以我尝试再次从此站点下载文件:

https://sourceforge.net/projects/glew/files/glew/2.1.0/glew-2.1.0-win32.zip/download

https://www.sfml-dev.org/files/SFML-2.5.1-windows-vc15-32-bit.zip

我只使用 x86 版本,但我仍然不知道什么会导致此错误。

我可以以某种方式调试它,以找到为什么它不起作用的 reson 吗? - 或者我自己不会低估错误?

所以因为我的愚蠢,我只是忘记将glew32.lib添加到:

项目 -> 属性 ->配置属性 -> 链接器 ->输入>其他依赖项。