俺が Windows を使いたくなるときってば、それはつまり Visual Studio (VS)を使いたくなるときだ。
自宅のマシンは Ubuntu Linux 8.10 だから、たまに使いたくなるわけだが、そうなると VS の対抗馬?である MonoDevelop (MD) が出てくる。使っている Ubuntu の最新のリポジトリだと、MD のバージョンは 1.0 。正直、しょぼい。というわけで、公式からソースで取ってきて最新の 1.9.1 を試してみた。
最初すんなり行かない以外、すばらしい。まず、configure スクリプトが若干おかしくて mono のコンパイラを探しにいけてない。mcs なんて古いの入れてないから、
# ln -s /usr/bin/gmcs2 /usr/local/bin/mcs
とかしてから configure しないといかん。 make すると、どこでだか忘れたがw 止まる。確か Addin とかのディレクトリにある Makefile に mcs ってハードコーディングされてるせい。gmcs(2) に書き換えてまた make すりゃいい。
で無事できたら実行するわけだが、Addin がロードできんって言われる。うざい。ちゃんとあるのに。よくわからんのだが、 AddIns ディレクトリ以下のサブディレクトリの中身を見に行ってたり、行ってなかったりする。文句を言われたら、AddIns ディレクトリに配下のファイルへのシンボリックリンクを作ってやればいい。
$ cd build/AddIns
$ ln -s MonoDevelop.Autotools/* ./
$ ln -s MonoDevelop.Deployment/* ./
$ ln -s MonoDevelop.DesignerSupport/* ./
$ ln -s MonoDevelop.Gettext/* ./
こんな感じで。Autotools は全部いるわけじゃないけど、まあ面倒だし、シンボリックだからいいかな、ってw
で、たぶん起動できるはず。ターミナルで起動すると、たぶんいっぱいメッセージっぽいのが出る。邪魔くさかったら、Mono Addins とか言うのを取ってきて ./configure && make && make install すりゃたぶんだいぶ減る。
今度は MD で作ったプロジェクトをビルドするときにおかしい。C# のコンパイラとして /usr/bin/gmcs とかを決め打ちしてやがる。設定とか面倒なので、その名前で /usr/bin/gmcs2 へのシンボリックリンクを作ってやる。
これでようやく完了。VS に較べりゃ若干しょぼいけど、LINQ で楽しくプログラミングできる環境がうちにもやってきましたよ。