将GLEW与Visual Studios联系起来的问题

AAB*_*AAB 4 opengl linker glew visual-studio-2010

我已经尝试了几种方法让GLEW使用我的VS2010项目.没有成功.起初我尝试使用网站上预先构建的库和dll.我从http://glew.sourceforge.net/index.html下载了这些预先构建的文件并做了类似的事情:设置GLEW窗口?

  1. .h文件放在C:\ Program Files(x86)\ Microsoft SDKs\Windows\v7.0A\Include中

  2. .lib文件放在C:\ Program Files(x86)\ Microsoft SDKs\Windows\v7.0A\Lib\x64中(我还将它们放在一级以防万一)

  3. glew32.dll转到C:\ Windows\SysWOW64

  4. linker-> input将glew32.lib,GlU32.lib和OpenGL32.lib添加到其他依赖项

  5. 预处理器定义:放入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
Run Code Online (Sandbox Code Playgroud)

所以,关于stackoverflow的一些其他建议是重建glew.接下来我尝试在VS2010中构建glew32d.我关注OpenGL:如何从源文件编译glew32.dll并得到glew32d.dll和glew32d.lib.

  1. glew32d.lib放入C:\ Program Files(x86)\ Microsoft SDKs\Windows\v7.0A\Lib\x64(如果我把它放在x64文件夹中,程序只识别lib,而不是升级)

  2. glew32d.dll转到C:\ Windows\SysWOW64

  3. 链接器 - >输入添加glew32d.lib(这个已更改),GlU32.lib和OpenGL32.lib添加到其他依赖项

  4. 预处理器定义:放入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
Run Code Online (Sandbox Code Playgroud)

知道出了什么问题以及如何解决它?

Din*_*edi 6

不要将它们添加到系统目录中.你不应该把东西扔进系统目录.或者MSVC目录.你应该在你的驱动器上的某个地方有自己的位置来做这些事情,以免你不小心破坏了东西.你告诉你的工具,即Visual Studio在哪里找到你的库,而不是把你的库放在工具即视觉工作室目录中.您可以将库保留在项目目录中.您可以按照以下几组来设置GLEW我假设您已经创建了VC++ win32控制台应用程序项目.

步骤1.在项目目录中创建目录,假设目录名称为" thirdparty "

第2步:复制和过去的GLEW-1.9.0库文件夹目录 第三方

步骤3.现在转到菜单项目 - >(projectName)属性..或按Alt + F7.您将看到项目属性窗口.

步骤4.转到Congiguration Properties-> VC++ Directories选项.从右边那里给出了glew库的路径.在Include目录中给出路径:$(ProjectDir)thirdparty\glew-1.9.0\include; 在库目录中给出路径:$(ProjectDir)thirdparty\glew-1.9.0\lib;

现在按照以下步骤进行链接.

步骤5.转到链接器 - >输入选项.链接glew32.dll.In其他依赖项:glew32.dll;