List of msys - Baldanders.info
tag:Baldanders.info,2006-07-13:/tags
2006-07-13T21:34:38+09:00
バルトアンデルスは連続的な怪物,時間の怪物である。(ホルヘ・ルイス・ボルヘス 『幻獣辞典』より)
https://baldanders.info/images/avatar.jpg
https://baldanders.info/images/avatar.jpg
MinGW/MSYS をインストールする
tag:Baldanders.info,2006-07-13:/blog/000209/
2006-07-13T12:34:38+00:00
2006-07-13T12:34:38+00:00
MinGW/MSYS をインストールする
Spiegel
/profile/
<p>
この記事では <a href="http://www.mingw.org/">MinGW (Minimalist GNU for Windows)および MSYS (Minimal SYStem)</a>のインストールについて紹介します。
<a href="http://www.mingw.org/">MinGW および MSYS</a> は Windows プラットフォーム上で動作する GNU ツールキットです。
GCC (GNU Compiler Collection)をはじめとするプログラミングに必要な各種ツールが集められています。
<a href="http://www.mingw.org/">MinGW/MSYS</a> は全てフリーで提供されていて,
ユーザは自由に利用することができます。
同様のものとしては Cygwin がありますが,
Cygwin で作成したプログラムが POSIX 互換のランタイムライブラリ上で動作するのに対し,
MinGW で作成したプログラムは完全に Win32API 上で動作させることが可能です。
従って UNIX 系のプログラムの移植の際には完全な互換が取れない場合があります。
</p>
<div id="a000209more"><div id="more">
<p>
まず MinGW のインストールからはじめましょう。
昔と違い今は MinGW のインストールはずいぶん簡単になりました。
<a href="http://www.mingw.org/">MinGW のサイト</a>からインストーラをダウンロードします。
現時点の最新版は 5.0.3 (Candidate Version)です。
</p><ul>
<li><a href="http://prdownloads.sf.net/mingw/MinGW-5.0.3.exe?download">MinGW-5.0.3.exe</a></li>
</ul><p>
インストーラを起動したらウィザードに従って必要なモジュールのダウンロードとインストールを行います。
詳しい操作については<a href="http://www2.atwiki.jp/ccw/pages/5.html">「C-Compiler Wiki MinGW / インストール」</a>が参考になります。
ウィザードの途中で設定するオプションはそれぞれ好みで決めていいと思いますが,
ここでは以下のように指定することにします。
</p><blockquote><table>
<tbody><tr><td style="text-align:right;white-space:nowrap;">Install or just download files? :</td><td style="text-align:left;white-space:nowrap;">Download and install</td></tr>
<tr><td style="text-align:right;white-space:nowrap;">Whitch MinGW package do you wish to install? :</td><td style="text-align:left;white-space:nowrap;">Current</td></tr>
<tr><td style="text-align:right;white-space:nowrap;">Check the components :</td><td style="text-align:left;white-space:nowrap;">"Minimal" + "g++ compiler"</td></tr>
<tr><td style="text-align:right;white-space:nowrap;">Destination Folder :</td><td style="text-align:left;white-space:nowrap;">C:\MinGW</td></tr>
</tbody></table></blockquote><p>
MinGW インストール完了後,
必要に応じて以下のモジュールも追加しておくといいかもしれません。
</p><ul>
<li><a href="http://prdownloads.sourceforge.net/mingw/mingw-utils-0.3.tar.gz?download">mingw-utils-0.3.tar.gz</a> -- ファイル変換ツール等</li>
<li><a href="http://prdownloads.sourceforge.net/mingw/libiconv-1.8.0-2003.02.01-1.exe?download">libiconv-1.8.0-2003.02.01-1.exe</a> -- 文字コード変換ライブラリ</li>
<li><a href="http://prdownloads.sourceforge.net/mingw/gettext-0.11.5-2003.02.01-1.exe?download">gettext-0.11.5-2003.02.01-1.exe</a> -- 多言語対応ソフトウェア用ライブラリ</li>
</ul><p>
次は MSYS です。
<a href="http://www.mingw.org/">MinGW のダウンロードページ</a>から最新版のインストーラをダウンロードします。
現時点の最新版は以下のファイルです。
</p><ul>
<li><a href="http://prdownloads.sf.net/mingw/MSYS-1.0.11-2004.04.30-1.exe?download">MSYS-1.0.11-2004.04.30-1.exe</a></li>
</ul><p>
インストーラを起動したらウィザードに従ってインストールを行います。
詳しい操作については同じく<a href="http://www2.atwiki.jp/ccw/pages/5.html">「C-Compiler Wiki MinGW / インストール」</a>が参考になります。
インストール先は「C:\msys\1.0」としておきましょう。
最後に MinGW のインストール先ディレクトリを問い合わせてきます。
間違えないようにしてください。
先ほどの設定であれば「c:/MinGW」と入力すれば大丈夫です。
</p><p>
MSYS インストール完了後,
更に開発用のツール群 msysDTK をインストールします。
以下のファイルを順に適用してください。
</p><ol>
<li><a href="http://prdownloads.sf.net/mingw/msysDTK-1.0.1.exe?download">msysDTK-1.0.1.exe</a></li>
<li><a href="http://prdownloads.sf.net/mingw/bison-2.0-MSYS.tar.gz?download">bison-2.0-MSYS.tar.gz</a></li>
<li><a href="http://prdownloads.sf.net/mingw/msys-autoconf-2.59.tar.bz2?download">msys-autoconf-2.59.tar.bz2</a></li>
<li><a href="http://prdownloads.sf.net/mingw/msys-automake-1.8.2.tar.bz2?download">msys-automake-1.8.2.tar.bz2</a></li>
<li><a href="http://prdownloads.sf.net/mingw/msys-libtool-1.5.tar.bz2?download">msys-libtool-1.5.tar.bz2</a></li>
<li><a href="http://prdownloads.sf.net/mingw/bash-2.05b-MSYS.tar.bz2?download">bash-2.05b-MSYS.tar.bz2</a></li>
<li><a href="http://prdownloads.sf.net/mingw/tar-1.13.19-MSYS-2005.06.08.tar.bz2?download">tar-1.13.19-MSYS-2005.06.08.tar.bz2</a></li>
</ol><p>
デバッガ(gdb)が必要な方は以下のファイルをダウンロードしてインストールしてください。
</p><ul>
<li><a href="http://prdownloads.sf.net/mingw/gdb-6.3-2.exe?download">gdb-6.3-2.exe</a></li>
</ul><p>
MSYS のインストールが完了するとデスクトップに MSYS のアイコンが作成されます。
このアイコンをクリックするとシェルが起動します。
起動直後のディレクトリは MSYS のホームディレクトリになっています。
(<em>usename</em> は現在ログインしているユーザ名です)
</p><blockquote><table>
<tbody><tr><td style="text-align:right;white-space:nowrap;">MSYS のホームディレクトリ :</td><td style="text-align:left;white-space:nowrap;">/home/<em>usename</em></td></tr>
<tr><td style="text-align:right;white-space:nowrap;">実際のフォルダ :</td><td style="text-align:left;white-space:nowrap;">C:\msys\1.0\home\<em>usename</em></td></tr>
</tbody></table></blockquote><p>
このシェル上で作業してもいいのですが,
コマンドを起動するだけなら Windows のコマンドプロンプトからでも可能です。
コマンドプロンプトを利用するには環境設定が必要です。
例えば以下のように設定します。
</p>
<blockquote><pre><code>PATH=C:\msys\1.0\bin;C:\MinGW\bin;...</code></pre></blockquote>
<p>
実際の設定方法については<a href="http://www2.atwiki.jp/ccw/pages/8.html">「C-Compiler Wiki Misc / 環境変数の設定」</a>が参考になります。
</p><p>
では動作確認を兼ねて <a href="http://www.zlib.net/">zlib</a> および <a href="http://www.bzip.org/">bzip2</a> をビルド&インストールしてみましょう。
現時点で zlib の最新版は 1.2.3,
bzip2 の最新版は 1.0.3 です。
</p><p>
まず zlib のソースコード一式を C:\msys\1.0\home\<em>usename</em> に展開します。
先ほどの MSYS シェルを起動し,
以下の手順でビルド&インストールを行います。
</p>
<blockquote><pre><code>$ cd ~/zlib-1.2.3/
$ ./configure
$ make install prefix=/mingw</code></pre></blockquote>
<p>
これで zlib ライブラリのビルドとインストールが完了します。
該当ファイルがちゃんとコピーされているかどうか C:\MinGW\include や C:\MinGW\lib をチェックしてみてください。
</p><p>
bzip2 も同じようにソースコード一式を展開します。
ただし bzip2 のソースコードでは MinGW でビルドすることを考慮していないため若干の修正が必要になります。
修正内容を抜き出したパッチファイル <a href="https://baldanders.info/spiegel/archive/bzip2-1.0.3.diff">bzip2-1.0.3.diff</a> を用意しましたので,
このファイルを使ってパッチを当ててからビルドを行います。
bzip2-1.0.3.diff をソースコードを展開した bzip2-1.0.3 ディレクトリにコピーし,
以下の手順でビルド&インストールを行います。
</p>
<blockquote><pre><code>$ cd ~/bzip2-1.0.3/
$ patch < bzip2-1.0.3.diff
$ make install PREFIX=/mingw</code></pre></blockquote>
<p>
うまくいきましたでしょうか。
該当ファイルがちゃんとコピーされているかどうか C:\MinGW\include や C:\MinGW\lib をチェックしてみてください。
bzpi2 では configure は不要です。
また make 時のパラメータが zlib と異なっていますので注意してください。
ビルドでは bzip2.exe と bzip2recover.exe が生成されますが /mingw/bin にコピーする際に拡張子が削除されてしまいます。
これらのバイナリを使う際には拡張子を元に戻しておいてください。
strip コマンドでサイズを小さくするのもいいでしょう。
</p>
<blockquote><pre><code>$ cd /mingw/bin
$ mv bzip2 bzip2.exe
$ strip bzip2.exe
$ mv bzip2recover bzip2recover.exe
$ strip bzip2recover.exe</code></pre></blockquote>
<p>
いかがでしたでしょうか。
このように MinGW/MSYS を使って UNIX 系のコマンドを比較的簡単に Windows プラットフォームに移植することができます。
</p>
</div></div>