egcs

Cygnus Solutionsegcs は gcc (GNU C Compiler) の拡張版です。エッグズと読みます。 ぜひ gcc と置き換えて使いましょう。

お近くのミラー(たとえば Ring サーバ群の /pub/lang/egcs/releases ディレクトリ)から最新のものを get してください。

コンパイルは簡単です。

cd /usr/local/src
bunzip2 -c /pub/src/egcs-1.1.2.tar.bz2 | tar xvf -
cd egcs-1.1.2
./configure --prefix=/usr --enable-shared
make
make install

上の --prefix=/usr/usr の下,つまり /usr/bin などにインストールするということです。こうすれば元々備わっている gcc を上書きします。無指定なら /usr/local の下になります(そのほうが安全でしょう)。--enable-shared は C++ の標準ライブラリをシェアードライブラリ libstdc++.so.2.9.0 にするという指定です。 シェアードライブラリにしないと,cout << "Hello, world!\n"; のような小さいプログラムでも数百キロバイトになりますが, シェアードなら数キロバイトに縮まります。

--prefix=/usr を指定しなければ /usr/local/bin/usr/local/lib などに収まります。 この場合,.bash_profile などで

export LD_LIBRARY_PATH=/usr/local/lib
しておかないと libstdc++.so.* が見つけられないかもしれません。 あるいは /usr/lib あたりにリンクを作っておく必要があります。

make しなおすときは make distclean をしてからにしましょう。

不満

C については不便を感じたことはありませんが,C++ ではいまだに namespace がまともにサポートされていません。 using namespace std; と書いても書かなくても, std:: を書いても書かなくても, コンパイルできてしまいます。


リンクはご自由にどうぞ。

松阪大学 奥村晴彦 okumura@matsusaka-u.ac.jp

Last modified: Mon Mar 29 14:21:05 1999