ルギア君の戯言

雑多な記事。

第2章 魔法を使えるようになろう!

キノガッサ「魔法で遊びたいなら、研究室にいるリザードに言うといいよ。」
パルちゃん「ということだ。行こうぜ。」


ルギア君たちは研究室へ行った。


パルちゃん「リザード、ルギア君ディアルガを魔法が使えるようにしてくれ。」
リザード「それならお安いご用だ!」


そういって、リザードは机の下からバイオリンを取り出して、トルコ行進曲(モーツァルト)を弾きだした。
しばらくして曲が終わると、リザードはこういった。


リザード「これでできたぜ。」
ディアルガ「本当か?」
リザード「だましてなんかないぜ。」

まとめ

トルコ行進曲が終わる前にできるかどうかはわかりませんが、とりあえず魔法(C言語)が使えるようにしましょう。

Windows の場合

今回は Visual C++ 2005 Express Edition を使うことにします。
解説中に 2008 が リリースされた場合はそっちに移行しますのでご注意ください。


Express Edition は ただで使えますが、機能がとてつもなく乏しいので、
お金を費やしてもいいという人は Standard Edition などを買いましょう。
学生の方は Academic Edition がいいでしょう。
中身は Standard Edition だと思われます。

Visual Studio 2005 Academic Edition

Visual Studio 2005 Academic Edition


Visual Studio 2005 Standard Edition

Visual Studio 2005 Standard Edition


http://www.microsoft.com/japan/msdn/vstudio/express/visualc/
から Visual C++ 2005 Express Edition をダウンロードしましょう。


僕はプロキシを介してアクセスしなければいけない決まりになっているので、Web インストールができません。
よって、そこは解説できません。ごめんなさい。


ダウンロードしたら、CD に焼きます。


焼いたら、そのディスクを入れます。
しばらくボーっと待つと、インストール画面が出てくるはずですが、出てこないときは、[スタート]→[(マイ) コンピュータ]→[VC]
の順に開くとインストールプログラムが起動します*1


[次へ]→[同意する]にチェックをつけて[次へ]→[次へ]→[完了]
とクリックします。
途中にあるインストール先のフォルダはどこでもいいそうです。


長めのインストールが終わると完成です。

Linux の場合

相当難易度が高いです(汗
gcc をインストールする場合は相当覚悟の上、行ってください。
普通は大丈夫なはずですが。


Konsole, ETerm, XTerm, KTerm, Gnome-Terminal, Rxvt といったターミナルプログラム(端末)を起動させて、
プロンプト($記号の後ろの ■ のこと)に

$ gcc -v

と打ち込んでみてください。


これは Knoppix 5.1.1 日本語版 に置ける実行結果です。

Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v --enable-languages=c,c++,fortran,objc,obj-c++,treelang 
--prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib 
--without-included-gettext --enable-threads=posix --enable-nls 
--program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu 
--enable-libstdcxx-debug --enable-mpfr --with-tune=i686 --enable-checking=release
 i486-linux-gnu
Thread model: posix
gcc version 4.1.2 20061028 (prerelease) (Debian 4.1.1-19)

このように出てきた場合はインストールされています(ほとんどの場合はインストールされているはずです)


ここで

--enable-languages=...

のところを見てください。
gcc からインストールされて使える言語が並べて表示されています。
この gcc では C言語, C++言語, Fortran, Objective-C/C++, Treelang がコンパイルできるようです。
今回は C++ の解説もしますので、入っていない人は、下の手順でいれましょう。



GCC の インストール方法


まずは、ダウンロードします。
日本なら、ring.gr.jp (Ring Server)からダウンロードするのがいいでしょう。


そのまえに、GCC の最新バージョンを確認しておきます。
2007年12月1日現在最新バージョンは 4.2.2 です。
最新バージョンは http://gcc.gnu.org/ で確認できます。

$ wget ftp://ftp.ring.gr.jp/pub/GNU/gcc/gcc-4.2.2/gcc-core-4.2.2.tar.bz2
$ wget ftp://ftp.ring.gr.jp/pub/GNU/gcc/gcc-4.2.2/gcc-g++-4.2.2.tar.bz2

C++だけが必要な人は、2行目だけダウンロードしてください。
ただし、バージョンが異なると正しく動かないかもしれません。
ftp がダメだったら、http://ftp.ring.gr.jp/... でも試してみてください。


そしたら、解凍します。

$ bunzip2 gcc-core-4.2.2.tar.bz2
$ bunzip2 gcc-g++-4.2.2.tar.bz2

参考までに bunzip は gzip と異なり、元ファイルを残すようです。


さて、それではインストールしていきましょう。

$ tar xvf gcc-core-4.2.2.tar
  (以外と多い)
$ tar xvf gcc-g++-4.2.2.tar
  (core よりも多い)
$ cd gcc-4.2.2
$ export CXX=g++
$ ./configure --enable-languages=c,c++ 
$ make
  (長い戦いが始まる)
  (2時間以上かかる場合も)
$ su
  (root のパスワードを入力)
# make install
  (コピーだけなのでそこまではかかりません)
# exit

gcc は言語ごとにパッケージがわかれているので、どの言語をインストールするのか指定しないといけません。
ここでは C と C++ をインストールするので、--enable-language=c,c++ となってます。
また、C++ をインストールする時に C++ コンパイラをさりげに要求しているので、プログラムを

$ export CXX=g++

で指定してやります。
もちろん、上の例の g++ は gcc の C++ コンパイラですので、gcc がインストールされていない場合は別のを指定してください。
ちなみに、C コンパイラが "あるオプション" を付け加えることで C++ コンパイラになるといった場合には、

$export CXX=cc
$export CXXFLAG=-cpp

とします(コンパイラが cc で -cpp オプションを付けると C++ のコンパイルになる場合)。



途中でエラーが出た場合


実は僕もエラーが出ました。
エラーの内容は "unable to detect exception model"
でした。
google かなんかでエラーメッセージをまるごと検索すれば大抵出てくるみたいです。


このエラーメッセージに関する情報は
http://gcc.gnu.org/ml/libstdc++/2001-04/msg00295.html
にありました。

$ ./configure --enable-languages=c,c++ --enable-sjlj-exceptions

としてください。

*1:それでも開かないときは、[VC]を右クリック→[開く]→[Setup.exe]