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

A.2.30 -G

実行可能ファイルではなく動的共有ライブラリを構築します。

コマンド行で指定したソースファイルはすべて、デフォルトで -xcode=pic13 オプションでコンパイルされます。

テンプレートを使用する共有ライブラリを作成する場合は、通常、テンプレートデータベースでインスタンス化されているテンプレート関数を、共有ライブラリに組み込む必要があります。このオプションを使用すると、これらのテンプレートが必要に応じて共有ライブラリに自動的に追加されます。

コンパイル時とリンク時の両方に指定する必要があるコンパイラオプションと -G オプションを組み合わせて共有ライブラリを作成した場合は、生成された共有オブジェクトとのリンクでも、必ず同じオプションを指定してください。

「A.2.119 -xcode=aで推奨しているように、共有オブジェクトの作成では、-xarch=v9 を付けてコンパイルしたすべてのオブジェクトファイルもまた、明示的な -xcode 値を付けてコンパイルする必要があります。

A.2.30.1 相互の関連性

-c (コンパイルのみのオプション) を指定しないと、次のオプションがリンカーに渡されます。

警告

共有ライブラリの構築には、ld -G ではなく、CC -G を使用してください。こうすると、CC ドライバによって C++ に必要ないくつかのオプションが ld に自動的に渡されます。

-G オプションを使用すると、コンパイラはデフォルトの -l オプションを ld に渡しません。共有ライブラリを別の共有ライブラリに依存させる場合は、必要な -l オプションをコマンド行に渡す必要があります。たとえば、共有ライブラリを libCrun に依存させる場合は、-lCrun をコマンド行に渡す必要があります。

関連項目

-dy-Kpic-xcode=pic13-ztextld(1) のマニュアルページ、「16.3 動的 (共有) ライブラリの構築」