GLEW和Freeglut不会一起工作?

时间:2010-10-28 07:48:35

标签: opengl glew

我正在尝试在当前使用Freeglut的OpenGL应用程序中使用几何着色器,并且我正在尝试使用GLEW来执行此操作,因为据我所知,几何着色器功能在扩展中。我的包含顺序如下:

   #define GLEW_STATIC
   #include <glew.h>
   #include "freeglut.h"

但是,当我这样做时,我会收到很多链接器错误,如下所示:

   error LNK2001: unresolved external symbol ___glewAttachShader

当我只使用基本的OpenGL功能(它,不在扩展中的东西)时,我没有收到任何错误,所以我知道编译器正在找到所有“基本”库,如glu32等我正在使用Visual Studio 2008.有什么建议吗?

1 个答案:

答案 0 :(得分:2)

这是一个链接器错误,表示它没有找到一个glew入口点。

链接glew库(之前你没有看到错误,因为你没有使用任何扩展,我假设)。

编辑: 实际上,这与您使用“GLEW_STATIC”直接相关。

来自GLEW page

  

在Windows上,您还可以选择将提供的项目文件glew_static.dsp添加到工作区(解决方案),并将其与其他项目一起编译。在这种情况下,您还需要在构建静态库或可执行文件时将GLEW_BUILD预处理器常量更改为GLEW_STATIC,否则会出现构建错误。

这说明当您使用GLEW_STATIC设置时,您有责任构建和包含glew源文件。