Я получаю следующую ошибку ссылки.
1> main.obj: ошибка LNK2001: неразрешенный внешний символ ___glewGenBuffers
Я скачал 32-битную версию glew и включил в проект каталог «includes» и «lib». Также я добавил glew32.lib в меню дополнительных зависимостей. Затем я поместил glew32.dll и glew32mx.dll в папку syswow64, а также в папку system32 (поскольку я все еще получал ошибку, когда помещал ее в syswow64). Это довольно простая программа. Как привет мир, чтобы opengl с SDL и GLEW. Программа работала когда только с настройкой SDL. После связывания glew, началась проблема.
Я использую 64-битную Windows 7 Premium (сейчас это очевидно)
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;
}
Я решил проблему. Я только что написал эту строку «#define GLEW_STATIC» (конечно, без) после операторов включения, и она компилировалась немедленно. В любом случае, спасибо. 🙂
Других решений пока нет …