我尝试了几种方法让 GLEW 与我的 VS2010 项目一起工作。没有成功。起初我尝试使用网站上预先构建的库和 dll。我从http://glew.sourceforge.net/index.html下载了这些预建文件并做了类似的事情:设置 GLEW 窗口?
.h 文件放在 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include
.lib 文件放在 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\x64 中(为了以防万一,我也将它们放了一层)
glew32.dll 到 C:\Windows\SysWOW64
链接器->输入将 glew32.lib、GlU32.lib 和 OpenGL32.lib 添加到附加依赖项
预处理器定义:放入 GLEW_BUILD 和 GLEW_STATIC (我的程序需要是一个 DLL,但其他程序似乎与 STATIC 一样成功,所以我将两者都包括在内)
当我使用这些设置运行程序时,glewInit() 并不是那么 GLEW_OK。即使 glewInit() 失败,它仍然可以奇怪地识别该函数。当我使用另一个 glew 函数(如“glCreateProgram()”)时,出现以下错误:
Error 56 error LNK2020: unresolved token (0A000327) __glewCreateProgram
C:\Users\aab\studyWrist\Visualization\libCoin3D\ShaderHandler.obj libCoin3D
Error 57 error LNK2001: unresolved external symbol __glewCreateProgram
C:\Users\aab\studyWrist\Visualization\libCoin3D\ShaderHandler.obj libCoin3D
Error 58 error LNK1120: 2 unresolved externals
C:\Users\aab\studyWrist\Visualization\libCoin3D\Debug\libCoin3D.dll libCoin3D
所以,关于stackoverflow的其他一些建议是重建glew。所以接下来我尝试在VS2010中构建glew32d。我关注了OpenGL:How to compile glew32.dll from source file,得到了glew32d.dll和glew32d.lib。
glew32d.lib 放在 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\x64 (如果我把它放在 x64 文件夹中,程序只识别 lib,而不是升级)
glew32d.dll 到 C:\Windows\SysWOW64
linker->input add glew32d.lib(这个改了),GlU32.lib,和OpenGL32.lib到Additional Dependencies
预处理器定义:放入 GLEW_BUILD 和 GLEW_STATIC
我的以下错误仅由glewInit引起:
Error 56 error LNK2028: unresolved token (0A000383) "extern "C" unsigned int
__cdecl glewInit(void)" (?glewInit@@$$J0YAIXZ) referenced in function "public: __cdecl
MasterCube::MasterCube(void)" (??0MasterCube@@$$FQEAA@XZ)
C:\Users\aab\studyWrist\Visualization\libCoin3D\MasterCube.obj libCoin3D
Error 57 error LNK2019: unresolved external symbol "extern "C" unsigned int
__cdecl glewInit(void)" (?glewInit@@$$J0YAIXZ) referenced in function "public: __cdecl
MasterCube::MasterCube(void)" (??0MasterCube@@$$FQEAA@XZ)
C:\Users\aab\wristuptodate\studyWrist\Visualization\libCoin3D\MasterCube.obj
libCoin3D
知道出了什么问题以及如何解决吗?