cygwinでGLUTを使う


とりあえず、setup.exeから探す。
develとか辺りにあるはずなので、それらをチェックしてインスコ。
ちなみに、一番重要と思われるのがfreeglut。
これ入れてないとダメっぽい。

あと、
http://www.xmission.com/~nate/glut.html
からWindows用のOpenGLを入手して解凍する。
その中のREADME-win32.txtに書いてあるとおり、

glut32.dll to %WinDir%\System,
glut32.lib to $(MSDevDir)\..\..\VC98\lib, and
glut.h     to $(MSDevDir)\..\..\VC98\include\GL.

とする。
Cygwinで使う場合はglut32.dllのみを使うので、C:\Windows\system\に設置するのみでOKなはず。

で、実際gccでコンパイルするとき、cigwin上からどうしても実行できなかったので、-mno-cygwin というコンパイルオプションをつけたりする。
ファイル名はソースがglut01.c、実行ファイルはtest_opengl.exe としましょう、と。

gcc -otest_opengl.exe glut01.c -lglut32 -lglu32 -lopengl32 -mno-cygwin

ただ、残念な話、自分の環境ではこれでも動かなかった。
というのも、Cygwinのバージョンが1.7の開発版で、そのGCCがVersion 4でなおかつ-mno-cygwin はベータ版のため、未整備。。
手持ちのGCCは

$ gcc --version
gcc (GCC) 4.3.4 20090804 (release) 1
Copyright (C) 2008 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

こんな感じで、GCC3だと-mno-cygwin オプションがいけるらしいので、3を探すことに。
gccと打ってからタブキーを押して

$ gcc
gcc-3.exe  gcc-4.exe  gcc.exe    gccbug-3   gccbug-4

と出たので、

$ gcc-3 --version
gcc-3 (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

こいつでコンパイルしましょう、となると

$ gcc-3 -otest_opengl2.exe glut01.c -lglut -lglu32 -lopengl32 -mno-cygwin

opengl_empty_window

opengl_empty_window


こんな感じ。
ソースは床井さんのページ
http://www.wakayama-u.ac.jp/~tokoi/opengl/libglut.html
ここの最初のソースを拝借しました。
要するに、ただウィンドウを表示するだけ。

#include <GL/glut.h>
void display(void)
{
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutCreateWindow(argv[0]);
glutDisplayFunc(display);
glutMainLoop();
return 0;
}

お粗末さまでした。

Post to Twitter

, , ,

  1. No comments yet.
(will not be published)