デフォルトでは、CC ドライバは、デフォルトライブラリのそれぞれについて -llib オプションをリンカーに渡すことによって、libc や libm などの共有ライブラリをいくつかリンクします (互換性モードと標準モードのデフォルトライブラリについては、「デフォルトの C++ ライブラリ」を参照)。
これらデフォルトライブラリを静的にリンクする場合は、-xnolib コンパイラオプションを使用できます。-xnolib オプションを指定すると、ドライバは自動的には -l オプションを ld に渡しません。-l オプションは、自分で渡す必要があります。次の例は、Solaris 2.5.1、2.6、7 オペレーティング環境で libCrun と静的に、libw、libm、libc と動的にリンクする方法を示します。
demo% CC test.c -xnolib -lCstd -Bstatic -lCrun -Bdynamic -lC_mtstubs -lm -lw -lcx -lc
-l オプションの順序は重要です。-lc の前に -lCstd、-lCrun、-lm、-lw、-lcx オプションがあることに注意してください。
x86 プラットフォームでは、-lcx オプションはありません。
他のライブラリにリンクする CC オプションもあります。そうしたライブラリへのリンクも -xnolib によって行われないように設定できます。たとえば、-mt オプションを指定すると、CC ドライバは -lC_mtstubs ではなく、-lthread を ld に渡します。これに対し、-mt と-xnolib の両方を使用すると、CC ドライバは ld に -lthread を渡しません。詳細は、「-xnolib」を参照してください。ld については、Solaris に関するマニュアル『リンカーとライブラリ』を参照してください。
-library オプションと -staticlib オプションを組み合わせることによって、C++ ライブラリを静的にリンクすることもできます。この方法は、前述の方法よりはるかに簡単です。たとえば、上記の例は次のようにして実行できます。
demo% CC test.c -staticlib=Crun