在我的简单OpenGL程序中,我收到有关退出重新定义的以下错误:

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'

我正在使用Nate Robins的GLUT for Win32,并在Visual Studio 2005或Visual C++ 2005(Express Edition)中遇到此错误。此错误的原因是什么,如何解决?

最佳答案

原因:

Visual Studio的最新版本附带的 stdlib.h exit()函数具有不同的定义(并且有冲突)。它与 glut.h 中的定义冲突。

解决方案:

用stdlib.h中的glut.h中的定义覆盖。将stdlib.h行放在代码中glut.h行上方。

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

关于opengl - GLUT退出重新定义错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14402/

10-11 18:59