glutで,stdlib.hのexitでエラー

10月 31st, 2007 tocmoc

VisualStudioでglutを使っている時に,次のようなエラーが出ることが多々ある.

CODE:
  1. c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\stdlib.h(256): error C2381: exit' : 再定義 ; __declspec(noreturn) が異なります。
  2.  

次の項目をそれぞれ確認をする.多くの場合は1で解決できるようですが..

 1. stdlibやcstdlibのインクルード宣言を,glut.hのインクルードより前に書く.

C++:
  1. #include <stdlib>
  2. #inlcude <cstdlib>
  3. #include <gl /glut.h>

2. 新しいglut.hを持ってくる

3. glut.hの中で,次のように書かれている部分を,

C++:
  1. extern _CRTIMP void __cdecl exit(int);

次のように書き換える

C++:
  1. #if     _MSC_VER>= 1200
  2. _CRTIMP __declspec(noreturn) void   __cdecl exit(int);
  3. #else
  4. _CRTIMP void   __cdecl exit(int);
  5. #endif

色変換

10月 25th, 2007 tocmoc

色変換式集

http://image-d.isp.jp/commentary/color_cformula/YIQ.html