mingwで絶対にopenGLを動かす.
VisualStudioがそんなに嫌いなわけではないけど,あまりにも起動と終了が遅くて腹立たしいのでCUI環境を実装.
1.mingwを用意
http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/
ここ.表のちょっと上に
Looking for the latest version? Download mingw-get-inst-20110530.exe (574.8 KB)
の文言があるのでそっからDL.
2.mingwをインストール
落としてきたmingw-get-inst-20110530を起動.注意するのは以下.インストールするときのパッケージ選択みたいなやつで最初はCコンパイラだけになっているけどC++コンパイラもチェック. msysがどうのこうのもチェック.ほかのプログラミング言語のコンパイラは無視していい.
3.まずmingw確認
inuneco@LENOVO-CF1F9C72 ~
$ gcc
gcc.exe: no input files
inuneco@LENOVO-CF1F9C72 ~
$ make
make: *** No targets specified and no makefile found. Stop.
4.freeglutを用意する.
openGLどうのこうのはもう考えなくていい.
http://www.transmissionzero.co.uk/software/freeglut-devel/
→freeglut 2.6.0 MinGW PackageをDL解凍
5.導入
C:\Documents and Settings\inuneco\デスクトップ\freeglut-MinGW-2.6.0-3.mp\freeglut\lib
にはいっている
libfreeglut.a
libfreeglut_static.a
を
C:\MinGW\libにコピー
C:\Documents and Settings\inuneco\デスクトップ\freeglut-MinGW-2.6.0-3.mp\freeglut\include
GLの中身全部を
C:\MinGW\includeに.既存なので上書きする
C:\Documents and Settings\inuneco\デスクトップ\freeglut-MinGW-2.6.0-3.mp\freeglut
freeglu.dllを
C:\WINDOWS\systemにコピー.
※C:\windows\systemが環境変数pathに含まれていることを確認すること.
6.動かす
sample.c (http://d.hatena.ne.jp/tana-laevatein/20091227/1261942906さんのコピーです.)
#include
void display () {
glClear (GL_COLOR_BUFFER_BIT);
glBegin (GL_LINE_LOOP);
glVertex2d (-0.9, -0.9);
glVertex2d (0.9, -0.9);
glVertex2d (0, 0.9);
glEnd ();
glFlush ();
}void init () {
glClearColor (0.0, 1.0, 0.0, 1.0);
}int main (int argc, char *argv[]) {
glutInit (&argc, argv);
glutInitDisplayMode (GLUT_RGBA);
glutCreateWindow (argv[0]);
glutDisplayFunc (display);
init ();
glutMainLoop ();
return 0;
}
$gcc sample.c -o sample -lfreeglut -lglu32 -lopengl32
$sample.exe