Domanda

Nel mio semplice programma OpenGL ottengo il seguente errore sull'uscita di ridefinizione:

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'

Sto usando Nate Robins' GLUT per Win32 per ottenere questo errore con Visual Studio 2005 o Visual C++ 2005 Express Edition).Qual è la causa di questo errore e come posso risolvere il problema?

È stato utile?

Soluzione

Causa:

Il stdlib.h che viene fornito con le recenti versioni di Visual Studio è un diverso (e contrastanti) definizione del exit() funzione.Si scontra con la definizione glut.h.

Soluzione:

Ignorare la definizione in eccesso.h, che in stdlib.h.Luogo stdlib.linea h sopra il glut.linea h, nel tuo codice.

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

Altri suggerimenti

o questo...Per correggere l'errore, fare clic destro sul nome del progetto in Esplora soluzioni scheda e selezionare Proprietà -> C/C++ -> Preprocessore -> Preprocessore definizioni e aggiungere GLUT_BUILDING_LIB per le definizioni esistenti, separati da punto e virgola.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top