1

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

我下载了 32 位版本的 glew,并在项目中包含了“includes”和“lib”目录。我还在附加依赖项菜单中添加了 glew32.lib。然后我把 glew32.dll 和 glew32mx.dll 放在 syswow64 文件夹和 system32 文件夹中(因为当我把它放在 syswow64 时我仍然得到错误)。这是一个相当简单的程序。就像使用 SDL 和 GLEW 向 opengl 打招呼一样。该程序仅在使用 SDL 设置时工作。链接glew后,开始出现问题。

我正在使用 Windows 7 Premium 64 位(现在很明显)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;
}
4

1 回答 1

2

我解决了这个问题。我刚刚在包含语句之后写了这一行“#define GLEW_STATIC”(当然没有“)并立即编译。无论如何,谢谢。:)

于 2012-09-10T12:40:41.047 回答