无法在visual c ++ 2010中链接glew32

时间:2012-09-10 11:47:53

标签: c++ opengl glew visual-c++-2010-express

我收到以下链接错误。 1> main.obj:错误LNK2001:未解析的外部符号___ glewGenBuffers

我下载了32位版本的glew,并在项目中包含了“includes”和“lib”目录。另外,我在附加依赖项菜单中添加了glew32.lib。然后我将glew32.dll和glew32mx.dll放在syswow64文件夹中,也放在system32文件夹中(因为我把它放在syswow64中时仍然出错)。这是一个相当简单的程序。喜欢用SDL和GLEW打开世界的hello world。只有SDL设置时,该程序才有效。连接glew后,启动了问题。

我正在使用Windows 7 Premium 64bit(现在非常明显) Visual C ++ 2010快速版。我的glew版本是glew-1.9.0-win32。

我哪里可能出错?

这是代码

#define GLEW_STATIC
#include <SDL.h>
#include <GL/glew.h>

int main( int argc, char *argv[] )
{
    glewExperimental = GL_TRUE;

SDL_Init( SDL_INIT_VIDEO );

SDL_Surface* surface = SDL_SetVideoMode(800, 600, 32, SDL_HWSURFACE | SDL_DOUBLEBUF | SDL_OPENGL);
SDL_WM_SetCaption("Opengl Tutorial 1", 0);


glewInit();

GLuint vertexBuffer;
glGenBuffers( 1, &vertexBuffer );
printf( "%u\n", vertexBuffer );

SDL_Event windowEvent;
while ( true )
{
    if ( SDL_PollEvent( &windowEvent ) )
    {
        if ( windowEvent.type == SDL_QUIT ) break;
        if ( (windowEvent.type == SDL_KEYUP) && (windowEvent.key.keysym.sym == SDLK_ESCAPE) ) break;
    }

    SDL_GL_SwapBuffers();
}

SDL_Quit();
return 0;
}

1 个答案:

答案 0 :(得分:2)

我解决了这个问题。我刚刚在include语句之后写了这行“#define GLEW_STATIC”(当然没有“),并立即编译。非常感谢。:)