前回の続きです。
まず、新しいプロジェクトを作ります。テスト版の作業です。
メニューから「ファイル」-「新しいプロジェクト」とクリックして、出てきたウィンドウの
場所を
..¥Visual Studio 2013¥OpenGL¥
名前を test0 とし
上部の選択肢から「インストール済み」-「テンプレート」-「visual C++」
-「CLR」と展開して「CLR コンソール アプリケーション」をクリックして
「OK」をクリックしてください。
(「コンソール アプリケーション」でなくする方法は、後述します。)
以下のソースを test0.cpp にコピペしてください。
----
#include "stdafx.h"
#include <gl/freeglut.h>
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glFlush();
}
void initGL(void)
{
glClearColor(0.0, 0.0, 1.0, 1.0);
}
int main(int argc, char *argv[])
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_RGBA);
glutCreateWindow(argv[0]);
glutDisplayFunc(display);
initGL();
glutMainLoop();
return 0;
}
----
#include <gl/glut.h>
ではなく
#include <gl/freeglut.h>
でなくてはならないといけません。
「include ファイルを開けません。'gl/glut.h':No such file or directory」という
エラーメッセージに、私はこれで2日悩みました。
また #include "stdafx.h" というのはすべてのインクルードファイルの
前に記述しなければならないそうです。
そしてビルドしてみてください。 win32 か x64 にどちらか
環境にあった方にしてください。
Releases/Debug はどちらでも構いません。両方ビルドしても構いません。
そして問題なくビルドされたら、メニューから「デバッグ」-「デバッグなしで開始」
してみてください。青い四角いウィンドウが表示されたら成功です。
しかしコンソール画面も表示されるのはじゃまです。
これを表示しないようにしてみたいと思います。まず
int main(int argc, char *argv[]) を
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst,
LPSTR lpszCmdLine, int nShowCmd) に書き換えます。
そして argc, argv を __argc, __argv に書き換えます。
(元の main 関数を /* */ でコメントして、コピペで書き直すと
いいかもしれません。)
すると以下のようになります。
----
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst,
LPSTR lpszCmdLine, int nShowCmd) {
glutInit(&__argc, __argv);
glutInitDisplayMode(GLUT_RGBA);
glutCreateWindow(__argv[0]);
glutDisplayFunc(display);
initGL();
glutMainLoop();
return 0;
}
----
そして右側の ソリューション エクスプローラ の test0 (プロジェクト)を
右クリックして「プロパティ」-「構成プロパティ」-「リンカー」-「システム」
と開いて「サブシステム」の右端へマウスを持っていって、クリック、下向き記号が
あらわれたらそれをクリック、 Windows(/SUBSYSTEM:WINDOWS) を選択、
そしてビルドし直し、メニューから「デバッグ」-「デバッグなしで開始」を
実行、以上です。
コメント