2012-07-29 18 views
6

he construido los Glew lib tantas veces. Mi última creación eliminó las referencias indefinidas a todas las funciones del sombreador, como glCreateShader(). Creo que esta compilación es la correcta porque descubrí que Code:Blocks puede abrir proyectos de Visual Studio 6.0 por lo que tenía todo dispuesto para mí.referencia indefinida a `_imp__glewInit @ 0'

Puedo compilar mi aplicación sin llamar al glewInit() pero resulta en un SEGFAULT justo cuando se llama a glCreateShader(). Lo cual es causado por no Inicializar glew.

tengo que encenderlo pero no me deja XD

enlaces: mingw32, glew32, opengl32, glu32, glut32

IDE: Code :: Blocks

Compilador: MinGW32

Respuesta

18

ahorrarse un montón de problemas y simplemente añadir el glew.c a su proyecto directamente. No entiendo por qué las personas luchan tan duro para vincularse externamente. La licencia es amigable, y es solo un archivo fuente. Solo recuerda al #define GLEW_STATIC.

+0

hmm voy a tratar de que – Kaliber64

+0

Gracias !!!! gustaría no tener que hacer eso, pero lo que funcione – Kaliber64

+1

estoy realmente curiosa:.!? por qué no ¿Por qué ¿Prefiere tratar de vincularlo como una biblioteca externa? Hacer una DLL simplemente agrega otra dependencia en tiempo de ejecución, y crear una biblioteca estática ... bueno, solo agrega el archivo. ¡Haha! – TheBuzzSaw

0

Enlace glew32 después de las librerías que lo usan.

+0

Si lo vinculo después de opengl32, producirá un grupo de referencias indefinidas a las funciones wgl. Creo que he probado todas las permutaciones XD – Kaliber64

+1

@DavidMaloy ¿Tal vez estás usando lib estática y no declaras 'GLEW_STATIC'? –

+0

¿Dónde exactamente pongo eso? Al hacer la lib? o en la parte superior de un encabezado? o en las opciones del compilador Lo he intentado, pero idk si probé los lugares correctos. – Kaliber64