Question

Dans mon programme OpenGL simple, j'obtiens l'erreur suivante concernant la redéfinition de sortie :

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'

J'utilise celui de Nate Robins GLUT pour Win32 et obtenez cette erreur avec Visual Studio 2005 ou Visual C++ 2005 (Express Edition).Quelle est la cause de cette erreur et comment puis-je la corriger ?

Était-ce utile?

La solution

Cause:

Le stdlib.h fourni avec les versions récentes de Visual Studio a une définition différente (et contradictoire) du sortie() fonction.Cela entre en conflit avec la définition de surabondance.h.

Solution:

Remplacez la définition dans glut.h par celle dans stdlib.h.Placez la ligne stdlib.h au-dessus de la ligne glut.h dans votre code.

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

Autres conseils

ou ca...Pour corriger l'erreur, cliquez avec le bouton droit sur le nom du projet dans l'onglet Explorateur de solutions et sélectionnez Propriétés -> C/C++ -> Préprocesseur -> Définitions du préprocesseur et ajoutez GLUT_BUILDING_LIB aux définitions existantes, séparées par des points-virgules.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top