Sun Studio 12 Update 1: C++ ユーザーズガイド

A.2.50 -library=l[ ,l...]

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

A.2.50.1 値

互換モード (-compat[-4]]) の場合、l には次のいずれかを指定します。

表 A–16 互換モードに使用できる -library オプション

値 

意味  

[no%]f77

非推奨。-xlang=f77 を使用してください。

[no%]f90

非推奨。-xlang=f90 を使用してください。

[no%]f95

非推奨。-xlang=f95 を使用してください。

[no%]rwtools7

古い iostream Tools.h++ Version 7 を使用します [しません]。

[no%]rwtools7_dbg

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

[no%]complex

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

[no%]interval

非推奨。使用しないでください。-xia を使用してください。

[no%]libC

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

[no%]gc

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

[no%]sunperf

Sun Performance LibraryTM を使用します [しません]。

%none

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

標準モード (デフォルトモード) の場合、l には次のいずれかを指定します。

表 A–17 標準モードに使用できる -library オプション

値 

意味  

[no%]f77

非推奨。-xlang=f77 を使用してください。

[no%]f90

非推奨。-xlang=f90 を使用してください。

[no%]f95

非推奨。-xlang=f95 を使用してください。

[no%]rwtools7

古い iostream Tools.h++ Version 7 を使用します [しません]。

[no%]rwtools7_dbg

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

[no%]rwtools7_std

標準 iostream Tools.h++ Version 7 を使用します [しません]。

[no%]rwtools7_std_dbg

デバッグが可能な標準 iostream Tools.h++ Version 7 を使用します [しません]。

[no%]interval

非推奨。使用しないでください。-xia を使用してください。

[no%]iostream

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

[no%]Cstd

C++ 標準ライブラリ libCstd を使用します [しません]。コンパイラ付属の C++ 標準ライブラリヘッダーファイルをインクルードします [しません]。

[no%]Crun

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

[no%]gc

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

[no%]stlport4

デフォルトの libCstd の代わりに STLport の標準ライブラリ実装 Version 4.5.3 を使用します [しません]。STLport の実装の詳細は、「13.3 STLport」を参照してください。

[no%]stlport4_dbg

STLport のデバッグ可能なライブラリを使用します [しません]。 

[no%]sunperf

Sun Performance Library を使用します [しません]。 

%none

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

デフォルト

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


example% CC -library=%none

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


example% CC –library=rwtools7,iostream

標準モードで標準 の iostream と Rogue Wave tools.h++ ライブラリを使用するコマンドは次のとおりです。


example% CC -library=rwtools7_std

互換モードで従来の iostream と Rogue Wave tools.h++ ライブラリを使用するコマンドは次のとおりです。


example% CC -compat -library=rwtools7

相互の関連性

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

このオプションは、置き換えられる代わりに蓄積されます。

区間演算ライブラリを使用するときは、libClibCstd、または libiostream のいずれかのライブラリを取り込む必要があります。

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

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

-library=sunperf-xlic_lib=sunperf は同じコマンド行で使用できません。

どのコマンド行でも、-library=stlport4 または -library=Cstd オプションのうち使用できるオプションは、多くても 1 つだけです。

同時に使用できる RogueWave ツールライブラリは 1 つだけです。また、-library=stlport4 を指定して RogueWave ツールライブラリと併用することはできません。

従来の iostream RogueWave ツールライブラリを標準モード (デフォルトモード) で取り込む場合は、libiostream も取り込む必要があります (詳細は、『C++ 移行ガイド』を参照してください)。標準 iostream RogueWave ツールライブラリは、標準モードでのみ使用できます。次のコマンド例は、RogueWave tools.h++ ライブラリオプションの有効もしくは無効な使用法について示します。


% CC -compat -library=rwtools7 foo.cc        <-- valid
% CC -compat -library=rwtools7_std foo.cc    <-- invalid

% CC -library=rwtools7,iostream foo.cc       <-- valid, classic iostreams
% CC -library=rwtools7 foo.cc                <-- invalid

% CC -library=rwtools7_std foo.cc            <-- valid, standard iostreams
% CC -library=rwtools7_std,iostream foo.cc   <-- invalid

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

libC ライブラリをリンクしない互換モードプログラムは、C++ 言語のすべての機能を使用できるわけではありません。同様に、Crun ライブラリ、または Cstdstlport4 いずれのライブラリもリンクしない標準モードプログラムは、C++ 言語のすべての機能を使用できるわけではありません。

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

警告

別々の手順でコンパイルしてリンクする場合は、コンパイルコマンドに表示される一連の -library オプションをリンクコマンドにも表示する必要があります。

stlport4Cstd、および iostream のライブラリは、固有の入出力ストリームを実装しています。これらのライブラリの 2 個以上を-library オプションを使って指定した場合、プログラム動作が予期しないものになる恐れがあります。STLport の実装の詳細は、「13.3 STLport」を参照してください。

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

関連項目

-I-l-R-staticlib-xia-xlang-xnolib「11.4.8 アプリケーションの例」「警告:」「13.3.1 再配布とサポートされる STLport ライブラリ」、『Tools.h++ ユーザーズガイド』、『Tools.h++ クラスライブラリリファレンスマニュアル』、『Standard C++ Class Library Reference』、『 C++ Interval Arithmetic Programming Reference

-library=no%cstd オプションを使用して、ユーザー独自の C++ 標準ライブラリの使用を有効にする方法については、「12.7 C++ 標準ライブラリの置き換え」を参照してください。