在我的简单OpenGL程序中,我收到有关退出重新定义的以下错误:
1 2
| 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用于Win32,并在Visual Studio 2005或Visual C ++ 2005(Express Edition)中遇到此错误。 此错误的原因是什么,如何解决?
原因:
最新版本的Visual Studio附带的stdlib.h对exit()函数有不同的定义(并且有冲突)。 它与glut.h中的定义冲突。
解:
用stdlib.h中的glut.h中的定义覆盖。 将stdlib.h行放在代码中glut.h行上方。
1 2
| #include <stdlib.h>
#include <GL/glut.h> |
或这个...
要解决该错误,请在"解决方案资源管理器"选项卡中右键单击项目名称,然后选择"属性"->" C / C ++"->"预处理器"->"预处理器定义",然后将GLUT_BUILDING_LIB附加到现有定义(以分号分隔)中。