1

次のリンクエラーが発生します。1>main.obj: エラー LNK2001: 未解決の外部シンボル ___glewGenBuffers

glew の 32 ビット バージョンをダウンロードし、プロジェクトに「includes」および「lib」ディレクトリを含めました。また、追加の依存関係メニューに glew32.lib を追加しました。次に、glew32.dll と glew32mx.dll を syswow64 フォルダーと system32 フォルダーに配置しました (syswow64 に配置してもエラーが発生するため)。かなり単純なプログラムです。hello world のように、SDL と GLEW を使用して OpenGL を作成します。プログラムは、SDL セットアップだけで機能しました。グリューをリンクした後、問題が発生しました。

私は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 に答える