C++ ユーザーズガイド

-library=l[,...l]

l に指定した、CC が提供するライブラリを、コンパイルとリンクに組み込みます。

-compat=4 のとき、l には次のいずれかを指定します。

l の値

意味 

[no%]rwtools7

Tools.h++ v 7 を使用します [しません]。

[no%]rwtools7_dbg

デバッグ可能な Tools.h++ v 7 を使用します [しません]。

[no%]complex

複素数の演算に libcomplex を使用します [しません]。

[no%]libC

C++ サポートライブラリ libC を使用します [しません]。

[no%]gc

ガベージコレクション libgc を使用します [しません]。

[no%]gc_dbg

デバッグ可能なガベージコレクション libgc を使用します [しません]。

%all

%nonerwtools7complexgclibC と同じ。

%none

C++ ライブラリを一切使用しません。 

-compat=5 の場合、l には次のいずれかを指定します。

l の値

意味 

[no%]rwtools7

Tools.h++ v 7 を使用します [しません]。

[no%]rwtools7_dbg

デバッグ可能な Tools.h++ v 7を使用します [しません]。

[no%]iostream

古い iostream ライブラリ libiostream を使用します [しません]。

[no%]Cstd

C++ 標準ライブラリ libCstd を使用します [しません]。

[no%]Crun

C++ 実行時ライブラリ libCrun を使用します [しません]。

[no%]gc

ガベージコレクション libgc を使用します [しません]。

[no%]gc_dbg

デバッグ可能なガベージコレクション libgc を使用します [しません]。

%all

「%none,rwtools7,Cstd,gc,iostream,Crun」と指定することと同じ。

%none

libCrun の場合を除いてC++ ライブラリを使用しません。

デフォルト

-compat=4 の場合は、-library を指定しないと、-library=%none,libC が使用されます。-library=%none または-library=no%libC で特に除外されない限り、libC ライブラリは常に含まれます。

-compat=5 の場合は、-library を指定しないと、-library=%none,Cstd,Crun が使用されます。-library=%none または-library=no%Cstd で特に除外されない限り、libCstd ライブラリは常に含まれます。また、-library=no%Crun で特に除外されない限り、libCrun ライブラリは常に含まれます。

標準モードで libCrun 以外の C++ ライブラリを除外してリンクするには、次のコマンドを使用します。


demo% CC -library=%none

標準モードで RogueWave の Tools.h++ バージョン 7 と iostream ライブラリを使用するには、次のコマンドを使用します。


demo% CC -library=rwtools7,iostream

相互の関連性

-library でライブラリを指定すると、適切な -I パスがコンパイルで設定されます。リンクでは、適切な -L-Y P、および -R パスと、-l オプションが設定されます。

-library オプションを使用すると、指定したライブラリに対する -l オプションが正しい順序で送信されるようになります。たとえば、-library=rwtools7iostream および -lirabary=iostreamrwtools7 のどちらでも、-l オプションは、-lrwtool -liostream の順序で ld に渡されます。

指定したライブラリは、システムサポートライブラリよりも前にリンクされます。

RogueWave の Tools.h++ ライブラリは同時に 1 つしか使用できません。

RogueWave の Tools.h++ バージョン 7 ライブラリは、従来の iostream を使って構築されています。このため、標準モードで Rouged Wave の Tools.h++ のライブラリを使用する場合は、libiostream も含める必要があります。

libCstdlibiostream の両方を含めた場合は、プログラム内で新旧両方の形式の iostream (例: coutstd::cout) を使用して、同じファイルにアクセスしないよう注意してください。同じプログラム内に標準 iostream と従来の iostream が混在し、その両方のコードから同じファイルにアクセスすると、問題が発生する可能性があります。

libC とも libCrun ともリンクしないプログラムは、C++ のすべての機能を使用できないことがあります。

-xnolib を指定すると、-library は無視されます。

警告

これらのライブラリ安定したものではなく、リリースによって変わることがあります。

関連項目

-I、-l、-R、-Y P、-staticlib=l、 -xnolib、iostream に対する make の使用」

『C++ ライブラリ・リファレンス』、『Tools.h++7.0 ユーザーズガイド』、 『Tools.h++ 7.0 クラスライブラリ・リファレンスマニュアル』、 『Standard C++ Class Library Reference』(英語版のみ)