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

A.2.42.1 値

既存のテンプレートインスタンスが入っていることがわかっているライブラリを指定するには、filename 引数を使用します。ファイル名引数には、スラッシュ (/) 文字を含める必要があります。現在のディレクトリに関連するパスの場合には、ドットスラッシュ (./) を使用します。

デフォルト

-instlib=filename オプションにはデフォルト値はないので、値を指定する場合にのみ使用します。このオプションは複数回指定でき、指定内容は追加されていきます。

次に例を示します。

libfoo.a ライブラリと libbar.so ライブラリが、ソースファイル a.cc と共有する多数のテンプレートインスタンスをインスタンス化すると仮定します。-instlib=filename を追加してライブラリを指定すると、冗長性が回避されコンパイル時間を短縮できます。

example% CC -c -instlib=./libfoo.a -instlib=./libbar.so a.cc

相互作用

-g を使ってコンパイルするとき、-instlib=file で指定したライブラリが -g でコンパイルされていない場合には、テンプレートインスタンスがデバッグ不能となります。この問題の対策としては、-g を指定するときに -instlib=}file を使用しないようにします。

警告

-instlib によってライブラリを指定する場合には、そのライブラリとのリンクを行う必要があります。

関連項目

-template-instances-pti