現在地 >> メニュー >> 準備編01 >> glut.hとexit


exitのエラー


visual stdioでglutを使うとexitに関してエラーが出るこれは、glut.hの146行目が原因である

 ... ...
#if defined(_WIN32)
# ifndef GLUT_BUILDING_LIB
extern _CRTIMP void __cdecl exit(int);  //ここが問題。
# endif
#else
 ... ...

対策

[方法1].ヘッダファイルの順番


「stdlib.h」や「cstdlib」のインクルード宣言を、「glut.h」より先に書く。

[方法2].新しいglut.hを持ってくる。


NVIDIA SDKをインストールするなどして、glut関係ファイルを上書きしてしまう。

[方法3].書き換える


glut.hの中身を以下のように書き換える(検索結果より)

▼変更前

 ... ...
extern _CRTIMP void __cdecl exit(int);
 ... ...



▼変更後

 ... ...
#if _MSC_VER >= 1200
_CRTIMP __declspec(noreturn) void __cdecl exit(int);
#else
_CRTIMP __cdecl exit(int);
#endif
 ... ...

※いろいろ警告があるかもしれないがとりあえず動く。

[方法4].freeglutを使う


freeglutならば、exit問題の他、従来のglutでは不十分な点がカバーされている。
準備編05(freeglutを使う)

目次

― その他 ―

Wiki内検索

計測中...(07.10.8〜)

Save The World






▲よろしければ広告のクリックもお願いします


▲ランキングに参加しました

管理人/副管理人のみ編集できます