glut.h 与 stdlib.h 的exit冲突问题的解决
exit重定义.
在网上搜了解决方法:
方案一:
在C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\gl\glut.h的144行处,即
#if defined(_WIN32)
#ifndef GLUT_BUILDING_LIB
extern _CRTIMP void __cdecl exit(init);
把extern _CRTIMP void __cdecl exit(init);注释掉,然后添上
#if _MSC_VER >= 1200
_CRTIMP __declspec(noreturn) void __cdecl abort(void);
_CRTIMP __declspec(noreturn) void __cdecl exit(int);
#else
_CRTIMP void __cdecl abort(void);
_CRTIMP void __cdecl exit(int);
#endif
方案二:
#include <stdlib.h>
#include <gl/glut.h> (Just change the definition order = 改变顺序)
即<gl/glut.h>要放在stdlib之后包含。
在网上搜了解决方法:
方案一:
在C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\gl\glut.h的144行处,即
#if defined(_WIN32)
#ifndef GLUT_BUILDING_LIB
extern _CRTIMP void __cdecl exit(init);
把extern _CRTIMP void __cdecl exit(init);注释掉,然后添上
#if _MSC_VER >= 1200
_CRTIMP __declspec(noreturn) void __cdecl abort(void);
_CRTIMP __declspec(noreturn) void __cdecl exit(int);
#else
_CRTIMP void __cdecl abort(void);
_CRTIMP void __cdecl exit(int);
#endif
方案二:
#include <stdlib.h>
#include <gl/glut.h> (Just change the definition order = 改变顺序)
即<gl/glut.h>要放在stdlib之后包含。