2011-10-09 210 views
3

我正在使用Visual Studio C++和GLEW。项目设置全部设置(包括/ Libs)。OpenGL编译问题

MenuState.obj : error LNK2001: unresolved external symbol __imp____glewUseProgramObjectARB 
MenuState.obj : error LNK2001: unresolved external symbol __imp____glewLinkProgramARB 
MenuState.obj : error LNK2001: unresolved external symbol __imp____glewAttachObjectARB 
MenuState.obj : error LNK2001: unresolved external symbol __imp____glewCompileShader 
MenuState.obj : error LNK2001: unresolved external symbol __imp____glewShaderSource 
MenuState.obj : error LNK2001: unresolved external symbol __imp____glewCreateShader 
MenuState.obj : error LNK2001: unresolved external symbol __imp____glewCreateProgramObjectARB 

这些是我得到的唯一消息。一切工作正常,直到我试图实现一个着色器。 问题是我在虚拟机内工作,所以我的问题是:GLEW是否需要opengl32.lib作为依赖项?因为如果我不添加opengl32.lib到链接器,我会得到更多的错误。如果可以的话,这个问题是由opengl32.lib引起的?因为我认为opengl32.lib是标准的windows opengl32.lib,这意味着它只是opengl 1.1,因此它不能链接...

那么这些错误的问题是什么?

+2

您需要链接到glew库。你在做那个吗? –

+0

@icktoofay什么是'glue32.lib'? –

+0

@Christian:对不起,我打错了。我正在考虑如何发音'glew',并且我意外地输入了它。 – icktoofay

回答

1

确保在将GLEW包括在Windows中之前,在项目中定义GLEW_STATIC。然后,您可以将整个源代码包含在项目文件中。否则,您需要在您的可执行文件中包含正确的GLEW DLL文件。