Error de redefinición de salida de GLUT


En mi simple programa OpenGL obtengo 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 el exceso de Nate Robins para Win32 y obtengo 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?

 29
Author: Ashwin Nanjappa, 2008-08-18

2 answers

Causa:

El stdlib.h que viene con las versiones recientes de Visual Studio tiene una definición diferente (y conflictiva) de la función exit(). Choca con la definición en glut.h .

Solución:

Anula la definición en glut.h con eso en stdlib.h. Coloque el stdlib.línea h por encima del exceso.línea h en su código.

#include <stdlib.h>
#include <GL/glut.h>
 68
Author: Ashwin Nanjappa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-08-18 09:55:45

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 de preprocesador y agregue GLUT_BUILDING_LIB a las definiciones existentes, separadas por punto y coma.

 17
Author: Alex,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-11-06 18:55:32