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

2.3 バージョンが異なるコンパイラでのコンパイル

このコンパイラは、デフォルトではキャッシュを使用しません。キャッシュを使用するのは、-instances=extern が指定されているときだけです。キャッシュを使用する場合、コンパイラはキャッシュディレクトリのバージョンを調べ、その結果キャッシュバージョンに問題があることがわかると、エラーメッセージを出力します。将来の C++ コンパイラもキャッシュのバージョンを調べます。たとえば、将来のコンパイラは異なるテンプレートキャッシュのバージョン識別子を持っているため、現在のリリースで作成されたキャッシュディレクトリを処理しようとすると、次のようなエラーを出力します。


Template Database at ./SunWS_cache is incompatible with
this compiler

同様に、現在のリリースのコンパイラで以降のバージョンのコンパイラで作成されたキャッシュディレクトリを処理しようとすると、エラーが発行されます。

コンパイラをアップグレードする際には、必ずキャッシュを消去するようにするとよいでしょう。テンプレートキャッシュディレクトリ (ほとんどの場合、テンプレートキャッシュディレクトリの名前は SunWS_cache) が入っているディレクトリすべてに対し、CCadmin -clean を実行します。CCadmin -clean の代わりに、rm -rf SunWS_cache と指定しても同様の結果が得られます。