Gnu C++ ( MinGW )
 によるDXライブラリの使い方


 MinGW を使用してDXライブラリを使ったソフトを製作するために必要な情報を記載します。
 とはいえ、管理人は MinGW に疎いので、既に MinGW を使い慣れている方が MinGW でDXライブラリを使う際に必要な情報となります。( MinGW 未経験の方が MinGW を使用してソフトを製作できるようになるための情報はありません )

1.DXライブラリを使うために必要なものを揃える

2.MinGW のバージョンに合った MinGW 用DXライブラリを使用する

3.コンパイル時に必要なコパイルオプション

4.リンク時に必要なオプション

5.DXライブラリを使用したプログラムの例

6.リファレンスなど



1.DXライブラリを使うために必要なものを揃える

 MinGW でDXライブラリを使用するには以下のものが必要です。

 ・MinGW
 ・DXライブラリ Windows版 Gnu C++( MinGW )用

 DXライブラリ Windows版 Gnu C++( MinGW )用は本サイトのここからダウンロードすることが出来ます。



2.MinGW のバージョンに合った MinGW 用DXライブラリを使用する

 DXライブラリ Windows版 Gnu C++( MinGW )用のパッケージの中には『プロジェクトに追加すべきファイル_GCC(MinGW)用』というフォルダがあり、 その中にDXライブラリのライブラリファイル( hファイルや、aファイル )があるのですが、MinGW はアプリケーションのビルドに使用する MinGW のバージョンと、 aファイルのビルドに使用する MinGW のバージョンが異なると正常にビルドが行われないことがあるので、幾つかの MinGW のバージョン用のDXライブラリのMinGW用ファイルが格納されています。

 使用している MinGW のバージョンと aファイルビルド時の MinGW のバージョンが全く同じではなくても、近いバージョンであれば正常にビルドできる可能性がありますが、 もし使用している MinGW のバージョンが『プロジェクトに追加すべきファイル_GCC(MinGW)用』のフォルダに無く、 近いバージョンの aファイルを使用しても正常にビルドできなかった際は掲示板やメールでご使用の MinGW のバージョンと、 そのバージョンの MinGW の入手方法を教えてください。その MinGW のバージョン用のDXライブラリの aファイルを『プロジェクトに追加すべきファイル_GCC(MinGW)用』に追加します。



3.コンパイル時に必要なコンパイルオプション

 MinGW 用DXライブラリを使用したプログラムをコンパイルする際は、以下のオプションを追加する必要があります。

-DDX_GCC_COMPILE
-DDX_NON_INLINE_ASM



4.リンク時に必要なオプション

 MinGW 用DXライブラリを使用したプログラムをリンクする際は、以下のオプションを追加して、aファイルをリンクする必要があります。

-lDxLib
-lDxUseCLib
-lDxDrawFunc
-ljpeg
-lpng
-lzlib
-ltiff
-ltheora_static
-lvorbis_static
-lvorbisfile_static
-logg_static
-lbulletdynamics
-lbulletcollision
-lbulletmath
-lopusfile
-lopus
-lsilk_common
-lcelt

順番を変えると正常にリンクされないことがありますので、上記の順番通りに入力してください。



5.DXライブラリを使用したプログラムの例

 DXライブラリを使用したプログラムは以下のようになります。

#include "DxLib.h" // プログラムは WinMain から始まります int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { if( DxLib_Init() == -1 ) // DXライブラリ初期化処理 { return -1 ; // エラーが起きたら直ちに終了 } DrawPixel( 320 , 240 , GetColor( 255,255,255 ) ) ; // 点を打つ WaitKey() ; // キー入力待ち DxLib_End() ; // DXライブラリ使用の終了処理 return 0 ; // ソフトの終了 }



 画面の中心に点を描画する、キーの入力があるまで待つ。というだけのプログラムです。どの箇所で何をしているのか簡単に説明します。

 まず最初の1行はDXライブラリを使用するために必要なファイルをインクルードしています。
 次の『int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )』はウインドウズのプログラムのスタート地点となる関数の宣言です。 WinMain の引数は何も使用しないので、引数名は無くても大丈夫です。

 中括弧関数最初の文『if( !DxLib_Init() ) return -1;』DXライブラリを初期化して使える状態にするために必要な関数『DxLib_Init』を呼んでいます。 この関数はDXライブラリを使うプログラムを組む際には例外を除いてまず最初に呼び出す必要があります。因みに『if(...』と書かれているのは初期化に失敗したらその時点でソフトを終了させるという処理を行うための記述です。

 『DrawPixel』はそのまま点を描画するための関数です。
 その次の『WaitKey』はキーが押されるまで処理を止める関数です。

 最後の『DxLib_End() ;』は注釈にも書いてある通りDXライブラリの使用を終了する処理を行う関数を読んでいる文です。 DXライブラリを使用しているプログラムは最後に必ずこの関数を呼ばなくてはなりません。これを呼ばないで終るとメモリリークの原因となることもありますので注意してください。



6.リファレンスなど

 DXライブラリの関数はDXライブラリ関数リファレンスのページに解説があります。





戻る