glutで,stdlib.hのexitでエラー
10月 31st, 2007 tocmocVisualStudioでglutを使っている時に,次のようなエラーが出ることが多々ある.
CODE:
-
c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\stdlib.h(256): error C2381: exit' : 再定義 ; __declspec(noreturn) が異なります。
-
次の項目をそれぞれ確認をする.多くの場合は1で解決できるようですが..
1. stdlibやcstdlibのインクルード宣言を,glut.hのインクルードより前に書く.
C++:
-
#include <stdlib>
-
#inlcude <cstdlib>
-
#include <gl /glut.h>
2. 新しいglut.hを持ってくる
3. glut.hの中で,次のように書かれている部分を,
C++:
-
extern _CRTIMP void __cdecl exit(int);
次のように書き換える
C++:
-
#if _MSC_VER>= 1200
-
_CRTIMP __declspec(noreturn) void __cdecl exit(int);
-
#else
-
_CRTIMP void __cdecl exit(int);
-
#endif