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 |
%none、rwtools7、complex、gc、libC と同じ。 |
%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=rwtools7、iostream および -lirabary=iostream、rwtools7 のどちらでも、-l オプションは、-lrwtool -liostream の順序で ld に渡されます。
指定したライブラリは、システムサポートライブラリよりも前にリンクされます。
RogueWave の Tools.h++ ライブラリは同時に 1 つしか使用できません。
RogueWave の Tools.h++ バージョン 7 ライブラリは、従来の iostream を使って構築されています。このため、標準モードで Rouged Wave の Tools.h++ のライブラリを使用する場合は、libiostream も含める必要があります。
libCstd と libiostream の両方を含めた場合は、プログラム内で新旧両方の形式の iostream (例: cout と std::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』(英語版のみ)