Error de redefinición de salida GLUT
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?
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.