Frage

In meiner einfaches OpenGL-Programm erhalte ich die folgende Fehlermeldung zu beenden Neudefinition:

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'

Ich bin mit Nate Robins' Die GLUT-Bibliothek für Win32 und dieser Fehler mit Visual Studio 2005 oder Visual C++ 2005 (Express Edition).Was ist die Ursache für diesen Fehler und wie behebe ich es?

War es hilfreich?

Lösung

Ursache:

Die stdlib.h die Schiffe mit den aktuellen Versionen von Visual Studio hat eine andere (und widersprüchliche) definition der exit() Funktion.Es Zusammenstöße mit der definition in glut.h.

Lösung:

Überschreiben Sie die definition in der glut.h mit, dass in der stdlib.h.Ort der stdlib.h-Linie über der glut.h Zeile in Ihrem code.

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

Andere Tipps

oder diesem...Um den Fehler zu beheben, der rechten Maustaste auf den Projektnamen im Projektmappen-Explorer mit der Registerkarte, und wählen Sie Eigenschaften -> C/C++ -> Präprozessor -> präprozessordefinitionen, und fügen Sie GLUT_BUILDING_LIB an den bestehenden Definitionen, getrennt durch Semikolons.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top