次のページ 前のページ 目次へ

7. C++プログラムのコンパイル

libg++は数学ライブラリの一部を使用しているので、libmにリンクされていま す。既存のlibg++は古いライブラリを使用するようにコンパイルされている でしょうから、libg++をglibcを使って再コンパイルするか、バイナリ版を 入手する必要があります。最新のlibg++ソースと、glibcにリンクされたバイ ナリ(x86用)は ftp://ftp.yggdrasil.com/private/hjl/にあります。

7.1 テスト用glibcを使うlibg++のインストール

glibcをテストライブラリとしてインストールした場合、glibcと同じディレク トリにlibg++のファイルもインストールする必要があります(前節の例では /usr/i486-linuxglibc2)。バイナリパッケージからインストール する場合は(私自身はこのようにしてlibg++をコンパイルしたことがありま せんが、もしそのようなものがあるとすれば、おすすめします)、 ファイルをテンポラリディレクトリに展開してから、usr/libの ファイルを<インストール先ディレクトリ>/lib/usr/libディレクトリのファイルを<インストール先 ディレクトリ>/lib/ディレクトリへ(はじめにinclude/g++ のリンクを削除しておくことをお忘れなく!)そして、usr/bin/ のファイルを<インストール先ディレクトリ>/bin/ディレク トリへ移動します。

7.2 メインライブラリとしてglibcを使う場合のlibg++のインストール

glibcをメインライブラリとしてインストールした場合で、g++プログラムを以前 のCライブラリとともに使用したいならば、まず、古いlibg++ファイルを古い libcディレクトリに移動します。たぶん一番簡単な方法は、前節で説明した ようにしてlibc5を使ってlibg++をコンパイルしてインストールし、次に glibc版を通常どおりインストールすることです。

7.3 メインライブラリでないlibcを使ったC++プログラムのコンパイル

C++プログラムをメインでないlibcとともに使用した場合、g++のincludeディレク トリをincludeするように指定する必要があります。上の例で言えば、 テスト用glibcなら/usr/i486-linuxglibc2/include/g++、メインのglibcなら /usr/i486-linuxlibc5/include/g++になります。このためには通常、 $CXXFLAGS変数指定を付加します。

 CXXFLAGS = -nostdinc -I/usr/i486-linuxglibc2/include -I/usr/lib/gcc-lib/i486-linuxglibc2/2.7.2.2/include -I/usr/i486-linuxlibc5/include/g++ -b i486-linuxglibc2
 


次のページ 前のページ 目次へ