アプリケーションで pthread のみを使用するか、または Solaris スレッドと pthread の両方を使用している場合は、次のコマンドを使用してコンパイルとリンクを行います。
cc -mt [ flag ... ] file... [ library... ] -lpthread |
-mt オプションが libthread ライブラリにリンクするに対して、-lpthread オプションは libpthread ライブラリにリンクします。libpthread によって libthread へのインタフェースが提供されるため、pthread を使用する場合は両方のフラグが必要です。
-mt オプションは、コマンド行の任意の場所に指定できます。-lpthread オプションは、ユーザーライブラリのあとに指定するようにします。-mt と -lpthread の相対位置は関係ありません。
たとえば、次の行はすべて等価です。
cc -mt -o myprog f1.o f2.o -lmylib -lpthread cc -o myprog f1.o f2.o -mt -lmylib -lpthread cc -o myprog f1.o f2.o -lmylib -mt -lpthread cc -o myprog f1.o f2.o -lmylib -lpthread -mt
cc コマンドのオプションの詳細については、Sun Studio cc(1) のマニュアルページおよび『Sun Studio 12: C ユーザーズガイド』を参照してください。