2011-01-17 17 views
17

Estoy aprendiendo OpenGL siguiendo el libro rojo. Cuando llego a la página 90, necesito usar glGenBuffers(); Luego necesito instalar "glew". Siguiendo los pasos de www.cs.uiowa.edu/~cwyman/classes/common/howto/winGLUT.htmlGlew in VS 2010: símbolo externo no resuelto __imp__glewInit

descargo glew.zip de glew.sourceforge.net/ y descomprimir los archivos.

puse

  • glew.h en C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include
  • glew32.lib en C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib y
  • glew32.dll en C:\Windows\System32

Después de eso, voy a construir mi proyecto en VS 2010 y en Linker->input, me agregar dependencias glew32.lib.

Pero cuando construyo, he de error

unresolved external symbol __imp__glewInit

me paso todo el día para buscar soluciones, pero no encontró uno.

Espero que alguien me puede ayudar con esto.

Respuesta

7

Al igual que Hans Passant dijo anteriormente (Él respondió a mi pregunta anterior, pero suprime la respuesta.)

necesito compilar el código fuente de Glew.

Cómo compilarlo, consulte OpenGL: How to compile glew32.dll from source file.

Luego obtendrá glew32d.dll y glew32d.lib.

  • Deja glew32d.dll en c:\windows\sysWOW64 (también lo pongo en system y system32).
  • Deja glew32d.lib en C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib
  • Ponga glew.h en C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include

después trabajará.

+0

Paso dos días para resolver esto con la ayuda de Hans Passant y Mark. – NoviceCai

+1

Tuve el mismo problema. Comencé de nuevo desde el principio con este manual y funcionó: http://www.3dgraphicsfoundations.com/visstudio.html – abimelex

+0

@abimelex, gracias por publicar el enlace, había olvidado el paso para definir dependencias adicionales en VS, estaba conduciendo yo estoy loco –

1

También asegúrese de agregar el apropiado incluir para ello. Hice todas las cosas locas de la biblioteca y de alguna manera olvidé incluir el archivo de encabezado.

En mi caso fue:

#include <GL/glew.h> 
5

Otra posible solución y menos trabajo que compilar el archivo DLL de la fuente, es decir que sólo tiene que utilizar los binarios de 32 bits. Windows 7 64bit simplemente no quiere cooperar con los binarios de 64 bits que actualmente tienen disponibles.

Aquí hay una guía de configuración bastante general si alguien necesita.http://openglbook.com/setting-up-opengl-glew-and-freeglut-in-visual-c/

35

Dado que no ha mencionado ya, mi problema era que yo estaba ligado con la versión estática de Glew (glew32s.lib), pero no se había definido el símbolo GLEW_STATIC preprocesador (por lo que la cabecera estaba compilando contra efectivamente dejase no coincide con la biblioteca con la que estaba enlazando).

1

Luché con esto también durante unas horas. Entonces me di cuenta de que mi programa es win32 en lugar de x64. Estaba incluyendo glew.lib en la carpeta x64 cuando debería estar usando glew.lib debajo de la carpeta win32.

Cuestiones relacionadas