Cygwin/Mingw32上でのSDL開発環境の構築

since 2000/04/11
last modified 2000/05/26

SDL(Simple DirectMedia Layer)とは

Simple DirectMediaLayer(SDL) とは、Linux、Win32、BeOSといったプラットフォームをサポートするマルチメディア対応の 低レベル入出力ライブラリです。SDLには、 ビデオ関連機能、イべント処理関連機能、 オーディオファイル再生関連機能、 CDオーディオ再生関連機能、スレッド関連機能 といった機能があり、 まさにマルチプラットフォームに対応したWin32上のDirectX のようなライブラリです。 またさらにMacOS、FreeBSD、Solarisなどへの対応もアナウンスしています。

SDLを用いた代表的なゲームとして、 Loki Entertaimentの「Mythll: Soulblighter」、「Civilization: Call toPower」 があり、その外にも多くのゲームが存在します。

MS-Windows上でプログラム開発環境を構築しようと考えると、どうしても 「Visual Basic」、「Visual C++」といった市販ソフトを購入する羽目になってしまいます。 「ちょっとプログラミングに興味がある」とかいう場合、高価なので 中々踏み切ることが出来ないという人も多いと思います。 また、「プログラム開発したいんだけど、linuxはちょっと」と二の足を踏んで いる人も多いと思います。

そういう方に、MS-Windows上でのSDL開発環境の構築をお奨めします。 SDLはLGPLライセンスであるため、Cygwin/Mingw32と併せて、フリーなプログラミング開発環境を 構築することが出来ます。

また、「linuxはちょっと」と二の足を踏んでいる人も、Cygwinのコマンド群を使っていくことで linuxのコマンド体系というものを理解していくことが出来ます。「CUIはちょっと苦手」 という人も、これを機会にぜひ、コマンドプロンプトを開いて頂けると幸です。

ということで、貴方もこのSDLを使ってマルチプラットフォーム開発環境を構築してみましょう。

binaryの入手

MS-Windows上でSDL開発環境を構築するためには、以下のbinaryを入手する必要があります。 この他に、「Mule for Win32」といったエディタ等があると快適に開発出来るでしょう。 もちろん、自分の好みのエディタで結構です
(binaryの入手先は、どこにbinaryがあるか分かりにくいため、Toppageへのリンクと binaryへの直接リンクの二つです。しかし、binaryへの直接リンクは Webpageの内容が変更される可能性が大きいので、切れることがあります)。

Cygwin-B20のインストール

Cygwin-B20は、ディレクトリ"c:\cygnus"にインストールします (もちろん任意なディレクトリでもかまいませんが、以下はディレクトリ"c:\cygnus" にインストールされているものとして述べます。また、NT等の場合は、Administrator 権限でインストール下さい)。

  1. インストールプログラムに従って、Cygwin-B20をディレクトリ"c:\cygnus" にインストールします。

  2. ディレクトリ"c:\bin", "c:\tmp"を作成します (ディレクトリ"c:\tmp"については別に作らなくても可)。

  3. ディレクトリ"c:\cygnus\cygwin-b20\H-i586-cygwin32\bin"のファイル "bash.exe", "sh.exe", "cygnus.bat", "cygwin1.dll"を作成したディレクトリ "c:\bin"にコピーします。

  4. ディレクトリ"c:\bin"にコピーしたファイル"cygnus.bat"のPATHを以下の記述に 変更します。

    SET PATH=c:\cygnus\cygwin-b20\H-i586-cygwin32\bin;%PATH%

Mingw32のインストール

Mingw32は、ディレクトリ"c:\mingw32"にインストールします。

  1. Unzip等の展開プログラムを利用して、Mingw32をディレクトリ"c:\mingw32" にインストールします。

  2. ディレクトリ"c:\bin"のファイル"cygnus.bat"に以下の記述を 追加します。

         SET PATH=c:\mingw32\bin;%PATH%
         SET GCC_EXEC_PREFIX=c:\mingw32\lib\gcc-lib\
         SET LIBRARY_PATH=c:\mingw32\i386-mingw32\lib;c:\mingw32\lib
         SET C_INCLUDE_PATH=c:\mingw32\i386-mingw32\include;c:\mingw32\include
         SET CPLUS_INCLUDE_PATH=%C_INCLUDE_PATH%;c:\mingw32\include\g++
         SET OBJC_INCLUDE_PATH=%C_INCLUDE_PATH%
         

Win32開発用SDL-1.1.2(Mingw32版)のインストール

Win32開発用SDL-1.1.2(Mingw32版)"SDL-devel-1.1.2-mingw32.tar.gz" は、ディレクトリ"c:\tmp"に置き展開します (もちろん任意なディレクトリでもかまいませんが、以下はディレクトリ"c:\tmp" に格納しているものとして述べます)。

  1. ディレクトリ"c:\usr\local\cross-tools"を作成します。

  2. ディレクトリ"c:\bin"のファイル"cygnus.bat"を起動します (ディスクトップ上にショートカットを置くと便利です)。

  3. コマンドプロンプトが開かれるので、ディレクトリ"c:\tmp"に 移動して、Win32開発用SDL-1.1.2"SDL-devel-1.1.2-mingw32.tar.gz" を展開します。
    # cd /tmp
    # tar xzvf SDL-devel-1_1_2-mingw32_tar.gz

  4. 展開したディレクトリ"c:\tmp\SDL-1.1.2"に移動し、ファイル "i386-mingw32.tar.gz"をディレクトリ"c:\usr\local\cross-tools" にコピーします。
    # cd /tmp/SDL-1.1.2
    # cp i386-mingw32.tar.gz /usr/local/cross-tools/

  5. ディレクトリ"c:\usr\local\cross-tools"に移動して、ファイル "i386-mingw.32.tar.gz"を展開します。
    # cd /usr/local/cross-tools
    # tar xzvf i386-mingw32.tar.gz

  6. ディレクトリ"c:\bin"のファイル"cygnus.bat"のPATHに以下の記述に 追加します。

    c:\usr\local\cross-tools\i386-mingw32\bin;

(最終的にファイル"cygnus.bat"のPATHは以下のようになります)

SET PATH=c:\mingw32\bin;c:\usr\local\cross-tools\i386-mingw32\bin;c:\cygnus\cygwin-b20\H-i586-cygwin32\bin;%PATH%

DirectXのヘッダとライブラリのインストール

クロスコンパイルに必要なDirectXのヘッダとライブラリ"directx-cross.tar.gz"を ディレクトリ"c:\usr\local"に置き展開します(以下はディレクトリ"c:\tmp" にDirectXのヘッダとライブラリ"directx-cross.tar.gz"を格納しいているものとして述べます)。

  1. コマンドプロンプトから、ディレクトリ"c:\tmp"に 移動して、DirectXのヘッダとライブラリ"directx-cross.tar.gz" をディレクトリ"c:\usr\local"にコピーします。
    # cd /tmp
    # cp directx-cross.tar.gz /usr/local/

  2. コマンドプロンプトから、ディレクトリ"c:\usr\local"に 移動して、コピーしたDirectXのヘッダとライブラリ "directx-cross.tar.gz"を展開します。
    # cd /usr/local
    # tar xzvf directx-cross_tar.gz

testツールのコンパイル

以上の手順でSDL開発環境の構築は完了しました。 それでは、testツールをコンパイルして実行しましょう。

  1. ディレクトリ"c:\usr\local\cross-tools\i386-mingw32\lib"からファイル "SDL.dll"をディレクトリ"c:\tmp\SDL-1.1.2\test"にコピーします。

  2. コマンドプロンプトから、ディレクトリ"c:\tmp\SDL-1.1.2\test"に 移動して、testツールをコンパイルします。
    # cd /tmp/SDL-1.1.2/test
    # ./configure --host=linux-i386 --target=i386-mingw32
    # make

  3. ご苦労様でした。それでは、testツールを実行してみましょう。
    # ./testsprite.exe

[Top Pageに戻る]