Pregunta

En mi programa OpenGL simple aparece el siguiente error sobre la redefinición de salida:

1>c:\program files\microsoft visual studio 8\vc\include\stdlib.h(406) : error C2381: 'exit' : redefinition; __declspec(noreturn) differs
1>        c:\program files\microsoft visual studio 8\vc\platformsdk\include\gl\glut.h(146) : see declaration of 'exit'

Estoy usando Nate Robins GLUT para Win32 y aparece este error con Visual Studio 2005 o Visual C++ 2005 (Express Edition).¿Cuál es la causa de este error y cómo lo soluciono?

¿Fue útil?

Solución

Causa:

El stdlib.h que se envía con las versiones recientes de Visual Studio tiene una definición diferente (y conflictiva) de salida() función.Choca con la definición de glut.h.

Solución:

Anule la definición en glut.h con la de stdlib.h.Coloque la línea stdlib.h encima de la línea glut.h en su código.

#include <stdlib.h>
#include <GL/glut.h>

Otros consejos

o esto...Para corregir el error, haga clic derecho en el nombre del proyecto en la pestaña Explorador de soluciones y seleccione Propiedades -> C/C++ -> Preprocesador -> Definiciones del preprocesador y agregue GLUT_BUILDING_LIB a las definiciones existentes, separadas por punto y coma.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top