【问题标题】:Could not link glew32 in visual c++ 2010无法在 Visual C++ 2010 中链接 glew32
【发布时间】:2012-09-03 06:45:48
【问题描述】:

我收到以下链接错误。 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 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;
}

【问题讨论】:

  • 您是否已链接到项目属性中的 .lib 文件?
  • @TonyTheLion 在链接器下->输入->您说的其他依赖项?我确实做到了。 glew32.lib 它是。
  • 当然可以。它已经完成了。
  • linking to glew in c的可能重复

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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-08-13
    • 1970-01-01
    • 1970-01-01
    • 2014-10-17
    • 2014-08-03
    • 2012-07-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多