例えば heat1d-e-glut.c をコンパイルするには、
gcc -finput-charset=cp932 -fexec-charset=cp932 -Wl,--enable-auto-import \ -I/usr/X11R6/include -o heat1d heat1d-e-glut.c -L/usr/X11R6/lib -lglut \ -lGLU -lGL -lX11 |
次のようなスクリプトを用意しておけば、 ccgl heat1d-e-glut.c でコンパイル出来るわけです。
Cygwin での ccgl スクリプト |
#!/bin/sh name=`basename $1 .c` gcc -finput-charset=cp932 -fexec-charset=cp932 -Wl,--enable-auto-import \ -I/usr/X11R6/include -o ${name} "$@" \ -L/usr/X11R6/lib -lglut -lGL -lGLU -lX11 |
インクルード・ファイルは /usr/X11R6/include/GL の下にあるので、 -I/usr/X11R6/include は必須。忘れると、リンクエラーになるのだ!!
-lX11 は外してもコンパイル出来てしまった。
-Wl,-enable-auto-import を忘れると、
Info: resolving _glutBitmapTimesRoman24 by linking to __imp__glutBitmapTimesRoman24 (auto-import) |
ライブラリィに関しては
mathpc% ls -l /usr/X11R6/lib/libGL.* lrwxrwxrwx 1 mk なし 13 Jun 18 2007 /usr/X11R6/lib/libGL.dll.a -> libGL-1.dll.a mathpc% ls -l /usr/X11R6/lib/libglut.* -rw-r--r-- 1 mk なし 250984 Aug 6 2004 /usr/X11R6/lib/libglut.a -rw-r--r-- 1 mk なし 128788 Aug 6 2004 /usr/X11R6/lib/libglut.dll.a -rw-r--r-- 1 mk なし 813 Aug 6 2004 /usr/X11R6/lib/libglut.la mathpc% |