CC ドライバには、ライブラリを使用するためのオプションがいくつかあります。
マルチスレッド化コードをコンパイルしてリンクするには、-mt オプションを使用します。
区間演算ライブラリをリンクするには、-xia オプションを使用します。
Fortran または C99 実行時ライブラリをリンクするには、-xlang オプションを使用します。
Solaris Studio C++ コンパイラに添付された次のライブラリを指定するには、-library オプションを使用します。
libCrun
libCstd
libiostream
libC
libcomplex
libstlport、libstlport_dbg
librwtool、librwtool_dbg
libgc
注 - librwtool の従来の iostream 形式を使用するには、-library=rwtools7 オプションを使用します。librwtool の標準 iostream 形式を使用するには、-library=rwtools7_std オプションを使用します。
-library オプションと -staticlib オプションの両方に指定されたライブラリは静的にリンクされます。次にその例を挙げます。
libstdcxx (Solaris OS の一部として配布)
次のコマンドでは Tools.h++ Version 7 の従来の iostream 形式と libiostream ライブラリが動的にリンクされます。
example% CC test.cc -library=rwtools7,iostream
次のコマンドでは libgc ライブラリが静的にリンクされます。
example% CC test.cc -library=gc -staticlib=gc
次のコマンドでは test.cc が互換モードでコンパイルされ、libC が静的にリンクされます。互換モードでは libC がデフォルトでリンクされるので、このライブラリを -library オプションで指定する必要はありません。
example% CC test.cc -compat=4 -staticlib=libC
次のコマンドでは ライブラリ libCrunおよび libCstd がリンク対象から除外されます。指定しない場合は、これらのライブラリは自動的にリンクされます。
example% CC test.cc -library=no%Crun,no%Cstd
デフォルトでは、CC は、指定されたコマンド行オプションに従ってさまざなシステムライブラリをリンクします。-xnolib (または -nolib) を指定した場合、CC は、-l オプションを使用してコマンド行で明示的に指定したライブラリだけをリンクします。-xnolib または -nolib を使用した場合、-library オプションが存在していても無視されます。
-R オプションは、動的ライブラリの検索パスを実行可能ファイルに組み込むときに使用します。実行時リンカーは、実行時にこれらのパスを使ってアプリケーションに必要な共有ライブラリを探します。CC ドライバは、デフォルトで -R<install_directory/lib を ld に渡します (コンパイラが標準の場所にインストールされている場合)。共有ライブラリのデフォルトパスが実行可能ファイルに組み込まれないようにするには、-norunpath を使用します。
デフォルトでは、リンカーは /lib および /usr/lib を検索します。-L オプションでこれらのディレクトリやコンパイラのインストールディレクトリを指定しないでください。
配備用に構築するプログラムは、コンパイラのディレクトリでライブラリを参照することを防止する -norunpath または -R オプションを使用して構築するべきです (「11.6 共有ライブラリの使用」を参照してください)。