初めてのMono(Win32編)
WindowsでMonoを始めようとするとつまずくのがMonoのビルドだと思いますので、ちょっと手順を纏めてみました。
1. .NET 1.1をインストール
2. Gtk# win32 をダウンロード&インストール
入手はここから。以降、デフォルトのC:\Program Files\Common Files\GTK\2.4にインストールされていることを前提に進めます。
3. cygwinのインストール
ここからsetup.exeをダウンロードして実行。インストーラーが起動したら、パッケージの選択まで進めデフォルトの設定に加えて、以下のパッケージを選択します。
- Devel:
cygwinのセットアップを続け、インストールを完了させます。また、デスクトップにショートカットを作っておくと便利です。
4. .bashrcの編集
cygwinプロンプトを開き、.bashrcを編集します。エディタが入っていない場合はメモ帳で開く。
.bashrcに以下の内容を追加。
export PKG_CONFIG_PATH=/cygdrive/c/Program\ Files/Common\ Files/GTK/2.4/lib/pkgconfig export PATH=$PATH:/cygdrive/c/Program\ Files/Common\ Files/GTK/2.4/bin export PATH=$PATH:/cygdrive/c/WINDOWS/Microsoft.NET/Framework/v1.1.4322 # resgen.exeへのパスも通す。VS.NETの場合はここ。 export PATH=$PATH:/cygdrive/c/Program\ Files/Microsoft\ Visual\ Studio\ .NET\ 2003/SDK/v1.1/bin
最後のパスはVS.NETの場合なので、.NET SDKは異なる場所にresgen.exeがあると思います。.bashrcを編集し終えたら、cygwinプロンプトを開き直します。(sourceでも良いけど)
5. SVNからmono及びmcsのソースを入手
$ svn co svn://svn.myrealbox.com/source/trunk/mono $ svn co svn://svn.myrealbox.com/source/trunk/mcs
このコマンドでmono,mcsディレクトリが作成され、ソースがチェックアウトされます。
6. Monoのビルド
monoディレクトリへ移動し、
$ ./autogen.sh
を実行。成功したら、mcs/build/library.makeを編集します。
128-130行目付近の
ifndef RUNTIME_HAS_CONSISTENT_GACDIR gacdir_flag = /gacdir $(GACDIR) endif
を、
#ifndef RUNTIME_HAS_CONSISTENT_GACDIR gacdir_flag = /gacdir $(GACDIR) #endif
としないと、何故かmake installでこけるんですよね〜(^^;
で、makeして、
$ make
インストールで完了。
$ make install
もし、C#2.0の機能を使いたい場合は、monoディレクトリへ移動して、
$ ./configure --with-preview=yes
こいつを流してから、make & installすればOKです。