認識されるコンパイラタイプへのコンパイラ名のバインド

使用するコンパイラがサポートされているコンパイラタイプであることがわかっていても、標準的な名前でない場合、使用するコンパイラの名前を kwinject が認識するコンパイラタイプにバインドする必要があります。

build trace (ビルドトレース) の生成

build trace (ビルドトレース) を生成して正確なコンパイラ名を取得します。build trace (ビルドトレース) を使用した build specification (ビルドスペック) の問題のトラブルシューティングを参照してください。

テストのためのコンパイラ名の一時的なバインド

コンパイラ名を一時的にバインドして、指摘が解決されるかどうかを確認します。

  1. --progオプションを設定して kwinject を実行します。
    kwinject --prog <compiler_name>=<compiler_type> --trace-in <trace_file> --output <output_file>
    

    フィールド

    • <compiler_name> は指定したコンパイラタイプに適用できる 1 つまたは複数の実行可能ファイルであり、<klocwork_install>/config/kwfilter.confで指定されています。
    • <compiler_type> は kwinject によって認識されるコンパイラ名です。

    たとえば、gcc が gcc-4.1 へのシンボリックリンクの場合、build trace (ビルドトレース) での kwinject の実行時に --prog オプションを使用して gcc-4.1 が実際には gcc であることを一時的に指定できます。

    kwinject --prog gcc-4.1=gnu --trace-in <trace_file> --output <output_file>
    
    kwshell の代わりに、--prog オプションを指定した kwshell を使用することもできます。
  2. 次に、新しい build specification (ビルドスペック) ファイル (.out) を見直し、config 行が含まれることを確認します。上の例を使用すると、build specification (ビルドスペック) の config 行は次のようになります。
    config;/usr/bin/gcc;-e;gnu;-DGNUC=3;-J/usr/include;
     
  3. build specification (ビルドスペック) に config 行が含まれ、完全に見える場合、次のセクションに示したようにコンパイラ名を永久にバインドできます。
場合によっては、1 つのビルド環境に複数のコンパイラまたはリンカーを含めることができます (gcc-x86、gcc-mips、および ar-mips など)。この場合には、--prog オプションの複数インスタンスを使用します。例:
kwinject --output myproject.out --prog gcc-x86=gnu --prog gcc-mips=gnu --prog ar-mips=ar make 

コンパイラマッピングファイルでのコンパイラ名の永久バインド

build specification (ビルドスペック) を生成するたびに --prog オプションを指定してコンパイラ名を kwinject に渡す代わりに、<klocwork_install>/config/kwfilter.conf にあるコンパイラマッピングファイルを編集することができます。

同じ例を使用すると、gcc-4.1 を kwfilter.conf に追加できます。kwfilter.conf で GNU コンパイラタイプを制御する行は、デフォルトで次のようになります。

# Default GNU C/C++ compiler

filter gnu gcc, g++, cc, c++

これを次のように編集できます。

# Default GNU C/C++ compiler
filter gnu gcc, g++, cc, c++, gcc-4.1, g++-4.1

詳細については、コンパイラのマッピングファイル形式 (kwfilter.conf) を参照してください。

カスタム kwfilter.conf ファイルを、Klocwork Desktop または kwcheck を使用するデベロッパーが使用できるようにします。サポートされていない IDE またはテキストエディターを使用するデベロッパーは、コンパイラの設定も必要になる場合があります。カスタム kwfilter.conf ファイルをそれぞれの <user_install/config>ディレクトリにコピーすることで、手間を省くことができます。