提问人:DorkMonstuh 提问时间:6/12/2014 最后编辑:Sabito stands with UkraineDorkMonstuh 更新时间:3/6/2022 访问量:7078
LNK2019 glewInit
LNK2019 glewInit
问:
我已经获得了 1.9.0 版,我已将所有头文件放在 MSVS include 目录中,将所有 lib 文件放在 lib 文件夹中。然后,我将 dll 放在 sysWOW64 文件夹中,并在项目属性下的其他依赖项中添加了所需的所有库,这些库是:
- opengl32.lib
- glu32.lib
- glut32.lib
- glew32.lib
- glew32mx.lib
- glew32s.lib
- glew32mxs.lib
但是,我收到链接器错误
错误 1 错误 LNK2019:函数 C:\Users\x\documents\visual studio 2013\Projects\openGLTest\openGLTest\main.obj openGLTest 中引用了未解析的外部_glewInit@0符号 _main
答:
2赞
Andon M. Coleman
6/12/2014
#1
首先,不应将 DLL 放入或任何其他操作系统拥有的目录中,例如 。也就是说,这与你放置 DLL 的位置无关,而与你链接到的库(或者更确切地说是没有链接到)的库有关。sysWOW64
System32
您也不应链接到 4 种不同的 GLEW 配置:
- 动态 (glew32)
- 动态多上下文 (glew32mx)
- 静态 (glew32s)
- 静态多上下文 (glew32mxs)
链接到的最佳库通常是因为它首先否定了对 DLL 的需求,但随后您需要在glew32s.lib
#define GLEW_STATIC
#include "glew.h"
在 MSVC 中,可以将以下内容添加到源文件中,以一次处理所有这些内容:
#pragma comment (lib, "glew32s.lib")
#define GLEW_STATIC
#include "glew.h"
评论
1赞
DorkMonstuh
6/12/2014
嗨,@Andon我执行了你说的,但是我仍然遇到同样的错误
0赞
Andon M. Coleman
6/12/2014
您是否删除了最初作为依赖项的 4 个不同的 GLEW 库?如果您真的尝试链接到所有 4 个,它们将创建符号冲突。
0赞
DorkMonstuh
6/12/2014
我将 glew32s 保留在依赖项中,但删除了其他依赖项。我还应该删除 glew32 吗?我还添加了您刚才提到的代码,但这也没有解决
0赞
Andon M. Coleman
6/12/2014
是的,不要将标头或库放在 MSVC 的目录中。将它们放在相对于项目根目录的目录中。我使用和在我自己的软件中。在 MSVC 中,我有 和 .您可以使用任何所需的约定,但这是我用来存储特定于平台/子系统的标头和库的约定,而无需修改 MSVC 安装的额外安装步骤。<project>/platform/OpenGL/glew32s.lib
<project>/platform/OpenGL/glew.h
#pragma comment (lib, "platform/OpenGL/glew32s.lib")
#include "platform/OpenGL/glew.h"
0赞
DorkMonstuh
6/12/2014
我会试一试,只是我遵循了这篇文章中的第二个建议。我用过剩的方式做到了,但似乎不适用于 glew stackoverflow.com/questions/12171317/......
1赞
A-Sharabiani
12/6/2016
#2
我在这里找到了这个问题的解决方案:
包括头文件:
- 右键单击您的
project > Properties > Configuration > C/C++ > General > Additional Include Directories
- 在右侧下拉菜单中,单击
<Edit...>
Additional Inclue Directories
已经出现- 单击然后选择 glew include 文件夹:
new line icon > browse button
$(your path to glew)\glew-1.12.0\include
- 右键单击您的
包括库
- 右键单击您的项目
> Properties > Configuratio Properties > Linker > General > Additional Library Directories
- 点击
<Edit...>
Additional Library Directories
已经出现- 对于 64 位版本:添加
$(your path to glew)\glew-1.12.0\lib\Release\x64
- 对于 32 位版本:添加
$(your path to glew)\glew-1.12.0\lib\Release\Win32
- 右键单击您的项目(再次)
>Properties > Configuration Properties > Linker > Input > Additional Dependencies
- 点击
<Edit..>
Additional Dependencies
窗口已出现- 单击白色区域并写入
glew32.lib
- 右键单击您的项目
评论