Backup of 開発環境を整える/MinGW (7) Back


Back to History list

*&tooltip(MinGW){Minimalist GNU for Windows};)による開発環境の構築 [#p2f4f668]
参考:
-http://d.hatena.ne.jp/saiten/20070325
-http://source.bungie.org/wiki/index.php/Cross-build_Instructions

*MinGWの環境構築 [#ybfaf9e0]
[[MinGW>http://www.mingw.org/]]のサイトから以下のファイルをダウンロードしてインストール。
-[[Automated Installer>http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=240780]] - MinGWのコアシステム
-[[MSYS Base System>http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879]] - MinGWのインターフェース。Current Releaseの MSYS-x.x.xx.exe(xはバージョン)という名前のファイルをインストール
- Wget。次述のスクリプトで使う。

まず、MinGWとMSYSをインストールする。MSYSをインストールすると、
 C:\msys\1.0\home\ユーザ名
の位置がMSYSから見た基準のディレクトリになる。

ここに、[[MinGW Utilities: wget>http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=20506]] をダウンロードし、解凍する。MSYSを起動して、wgetを解凍したディレクトリに行き、
 ./configure
 make install
と入れる。これでwgetがインストールされる。

次に、[[Cross-Hosted MinGW Build Tool>http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=12644]]をダウンロードする。これは、自動開発環境構築シェルスクリプトである。先ほどのディレクトリに解凍し、その中のx86-mingw32-build.sh.confを修正する。
 #
 # 4) Package versions, from which the compiler will be built.
 #
      assume GCC_VERSION                   3.4.5-20060117-1
      assume BINUTILS_VERSION              2.18.50-20080109-2
      assume RUNTIME_VERSION               3.14
      assume W32API_VERSION                3.11
ここのバージョンを、下記のアドレスを参考に最新の物に書き換える。
-[[GCC Version3>http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=82723]] - コンパイラ
-[[GNU Binutils>http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=11290]]
-[[MinGW Runtime>http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=11598]] - ランタイム
-[[MinGW API for MS-Windows>http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=11550]] - Win32API

注意したいのは、この自動インストーラーで認識できるファイル名は、''末尾が-src.tar.gzのものに限られる''と言うことである。従って、たとえばGCCの場合最新のバージョンは、 3.4.5-20060117-3であるが、SourceForge上には、 gcc-g++-3.4.5-20060117-3-src.tar.gzというファイルは存在しないためこの設定は誤りと言うことになる。したがって、ここの設定は、旧バージョンの3.4.5-20060117-2が正しいことになる。

設定を終えたら、MSYSからx86-mingw32-build.shを起動する。あとはすべてリターンで問題ない。ダウンロードとビルド、インストールを自動で行ってくれる。

これで、開発環境が構築された。

**SDLのインストール [#na9beb9a]
c:\msys\1.0\localディレクトリに以下のファイルをダウンロードし解凍する。

まず、SDLのサイトから、&ref(http://www.libsdl.org/extras/win32/common/directx-devel.tar.gz);と、&ref(http://www.libsdl.org/extras/win32/common/opengl-devel.tar.gz);をダウンロードし、解凍する。

次に、&ref(http://www.libsdl.org/extras/win32/mingw32/nasm.exe);を、c:\msys\1.0\local\binに、をダウンロードする。

そのほかのライブラリは[[Win32 + MSYS + MinGW 5.1.3 で SDL の開発環境を構築>http://cefiro.homelinux.org/topics/SDL/setup-win32-mingw.html]]を参考にインストールしよう。このサイトで、ビルド済みのSDLが配布されている。必要なファイルは以下の通り。
-SDL
-SDL_image
-SDL_ttf
--freetype
-SDL_net
-jpeg6
-libpng
-smpeg
-zlib

インストール先は、c:\msys\1.0\localである。

**[[SDL_sound>http://icculus.org/SDL_sound/]][#v8529560]
-[[libogg のインストール>http://cefiro.homelinux.org/resources/doc/ogg/install-mingw32-04.html]]
-[[libvorbis のインストール>http://cefiro.homelinux.org/resources/doc/vorbis/install-mingw32-02.html]]

libvorbisをインストールする場合、configureを実行するときには以下のコマンドを入れること。
 LDFLAGS="-L/usr/local/lib" LIBS="-logg" configure --prefix=/usr/local

で、SDL_soundをインストール。以下から最新の安定版をダウンロードしてインストール。
-http://icculus.org/SDL_sound/downloads/

ビルドするときは以下のシェルスクリプトを使えばいいんじゃないかな?
 #!/bin/sh
 CFLAGS="-I/usr/local/include/smpeg -I/usr/local/include/ogg -I/usr/local/include/vorbis -I/usr/local/include/speex" \
 LIBS="-lstdc++" ./configure --prefix=/usr/local --enable-smpeg --enable-ogg --enable-vorbis --enable-speex \
 --disable-midi --disable-mpglib
 sed -ie s/playsound//g Makefile

**[[Lua>http://lua.org/]] [#t2e75516]
ダウンロードページから最新版を落としてきて、解凍したら以下のコマンドを実行
 make mingw
 make install
で、
 make generic
を実行すると、srcフォルダにlua51.dllがつくられる。これをc:\msys\1.0\local\binに移動。

ダメだった場合は、&ref(http://lua-users.org/files/wiki_insecure/build/mingw-msys/lua51w5mingw.tar.gz);を入れ替えてMake install

**[[boost>http://boost.org/]] [#u72a2688]
スタブ

**smpeg [#b18040c2]
BGMで使用?2.xは使用不可みたい。

[[Win32 + MSYS + MinGW 5.1.3 で SDL の開発環境を構築>http://cefiro.homelinux.org/topics/SDL/setup-win32-mingw.html]]からビルド済みをダウンロードできる。

**speex [#nfa37a72]
このライブラリは、対戦時のチャットで使用する。これがないと、マイクロフォン周りのビルドでこける。
 configure
 make; make install

**Iconv [#j996ec89]
AlephOneJP1.3x以上のビルドに必要。

http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=67879

から、libiconvをダウンロードしてインストール。

注意:AlephOneJPビルド時に、MakefileのCSFLAGやLDFLAGに-liconvを追記すること。

*開発環境パック [#h5321dd6]
ここよりダウンロード可能。面倒な人は、上記の方法で、MinGWとMSYSをインストールした後、このサイトから、MinGW-3.9.zipをダウンロードし、このアーカイブに含まれているMinGWディレクトリの中身をMinGWのインストールディレクトリ(c:\MinGW)に上書きコピーする。
-[[MinGW Distro - nuwen.net>http://nuwen.net/mingw.html]]

これだけで、必要なライブラリの大半はインストールされる。ただし、以下のファイルはこのアーカイブに含まれていない。このうち、のこりは手動でインストール。
-smpeg
-[[speex>http://www.speex.org/downloads/]]
-[[glut>https://users.cs.jmu.edu/bernstdh/web/common/help/cpp_mingw-glut-setup.php]]
-[[lua>http://lua.org/]]