Visual studio LNK2019 glewInit
我有glew版本1.9.0,我把所有的头文件放在MSVS include目录中,把所有的库文件放在lib文件夹中。然后,我将dll放在sysWOW64文件夹中,并在项目属性下的其他依赖项中添加了所需的所有LIB,它们是:Visual studio LNK2019 glewInit,visual-studio,opengl,linker-errors,unresolved-external,Visual Studio,Opengl,Linker Errors,Unresolved External,我有glew版本1.9.0,我把所有的头文件放在MSVS include目录中,把所有的库文件放在lib文件夹中。然后,我将dll放在sysWOW64文件夹中,并在项目属性下的其他依赖项中添加了所需的所有LIB,它们是: opengl32.lib glu32.lib glut32.lib glew32.lib glew32mx.lib glew32s.lib glew32mxs.lib 然而,我得到一个链接器错误 错误1错误LNK2019:未解析的外部符号_glewInit@0在函数\u m
- opengl32.lib
- glu32.lib
- glut32.lib
- glew32.lib
- glew32mx.lib
- glew32s.lib
- glew32mxs.lib
首先,您不应将DLL放入
sysWOW64
或任何其他操作系统拥有的目录,如System32
。也就是说,这与DLL的放置位置无关,与链接到的库(或者说没有链接到的库)无关
您也不应链接到4种不同的GLEW配置:
glew32s.lib
,因为它首先否定了对DLL的需要,但随后需要在之前添加#define GLEW_STATIC
#包括“GLEW.h”
在MSVC中,您可以将以下内容添加到源文件中,以便一次处理所有这些内容:
#pragma注释(lib,“glew32s.lib”)
#定义GLEW_静态
#包括“glew.h”
我找到了这个问题的解决方案:
- 包括头文件:
- 右键单击
project>Properties>Configuration>C/C++>General>additionalinclude目录
- 在右侧下拉列表中,单击
已出现其他Inclue目录
- 单击
,然后选择glew包含文件夹:新行图标>浏览按钮
$(您的glew路径)\glew-1.12.0\include
- 包括图书馆
- 右键单击项目
>属性>配置属性>链接器>常规>其他库目录
- 单击
- 出现了附加库目录
- 对于64位版本:添加
\glew-1.12.0\lib\Release\x64$(您的glew路径)
- 对于32位版本:添加
$(您的glew路径)\glew-1.12.0\lib\Release\Win32
- 右键单击项目(再次)
>属性>配置属性>链接器>输入>其他依赖项
- 单击
窗口已出现其他依赖项
- 单击白色区域并写入
glew32.lib
(旁注:接受的答案并没有解决问题)Hi@Andon我执行了您所说的,但是我仍然收到相同的错误您是否删除了最初作为依赖项使用的4个不同的GLEW库?如果您真的尝试链接到所有4个,它们将创建符号冲突。我将Glew32保留在依赖项中,但删除了其他的。我是否也应该删除GLEW32?我还添加了您刚才提到的代码,但这并没有解决所有问题。是的,不要将头或库放在MSVC的目录中。将它们放在相对于项目根目录的目录中。我在自己的软件中使用
/platform/OpenGL/glew32s.lib
和/platform/OpenGL/glew.h
。在MSVC中,我有#pragma注释(lib,“platform/OpenGL/glew32s.lib”)
和#include“platform/OpenGL/glew.h”
。你可以使用任何你想要的约定,但这就是我用来存储平台/子系统特定的头文件和库的方法,而不需要额外的安装步骤来修改你的MSVC安装。我会试试看,只是我遵循了这篇文章中的第二个建议。我用过量来做这件事,但似乎没有用glew