ゆとりーなの日記

日記的な事を書いて行くと思はれる

何故かOpenGLやってみたらやっぱりDOS窓が出たよ!

たまにはwin32DirectXに嫌気がさすこともあるんです。明日の確率のテスト?そんなものは知りません。
というわけで真っ黒な画面を試しに出してみました。

#define FREEGLUT_STATIC
#include <GL/glut.h>

void display() {
    glClear(GL_COLOR_BUFFER_BIT);
    glFlush();
}

int main(int argc, char *argv[]) {
    glutInit(&argc, argv);
    glutCreateWindow(argv[0]);
    glutDisplayFunc(&display);
    glutMainLoop();
    return 0;
}

staticリンク大好きなのでstaticリンクライブラリをビルドしてやってみたのですがまさかのリンクエラー。#define FREEGLUT_STATICしておく必要があったみたいです。
取り敢えずビルドも通り、真っ黒な画面が出せたのですが、まあ当然の様にプロンプト先生も出てきます。真っ黒な画面はひとつで十分ですよと言いたいわけです。
そこでmain関数を使いつつプロンプト先生を出さない裏技を試してみたところ見事プロンプト先生にお引き取り頂くことに成功しました。

リンカオプション
システム-サブシステム:Windows
詳細設定-エントリポイント:mainCRTStartup

OpenGLでゲーム作ろうとする時とかに使えるかもしれません。