GLUT uscita ridefinizione di errore
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?
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.