EN JP CN

Visual Studio C/C++ プロジェクトに使用する別のビルド統合メソッド

Visual Studio C/C++ プロジェクトに使用する別のビルド統合メソッド

Visual Studio C/C++ プロジェクトに使用する別のビルド統合メソッド

Visual Studio C/C++ プロジェクトに使用する別のビルド統合メソッド

kwinject では、最も正確な build specification (ビルドスペック) が作成されるので、コマンドラインから (devenv、msdev、vcbuild、または msbuild で) ビルドされた Visual Studio プロジェクトを含むすべての C/C++ プロジェクトに推奨できるビルド統合メソッドです。しかし、kwinject で Visual Studio C/C++ プロジェクト用の build specification (ビルドスペック) を作成できない場合は、この記事で説明している別のビルド統合メソッドで作成してください。

お使いになる前に:Visual Studio で Visual Studio プロジェクトをビルドしてから、Klocwork build specification (ビルドスペック) の作成を試みます。最初に Visual Studio でビルドすることで、プロジェクトが適切にセットアップされ、"オンザフライ" で生成されたファイルを Klocwork ツールで使用することができます。

.dsp、.dsw、.vcproj、または .sln ファイルでプロジェクトの build specification (ビルドスペック) を作成するには、kwdspparser または kwvcprojparser を実行します。

Visual Studio プロジェクトに複数のプラットフォームが含まれている場合、そのプラットフォームも含め完全な構成を指定する必要があります。たとえば、次のようになります。

kwvcprojparser project.vcproj -c "Debug|Itanium"

複数の.dsp または .vcproj ファイル用 build specification (ビルドスペック) の作成

1 つのプロジェクトに対して、複数の Microsoft Visual Studio プロジェクトファイルを指定することはできません。回避策として、最上位のソリューションかワークスペースファイルを作成し、それを使用して Klocwork プロジェクトを作成します。

複数の.dsp または .vcproj ファイル用 build specification (ビルドスペック) を生成するには:

  1. Visual Studio で、ワークスペース (ソリューション) ファイルを作成し、既存のプロジェクトをそれ (.dsp または .vcproj ファイル) に追加します。
  2. Visual Studio で Visual Studio プロジェクトをビルドして、設定が正しいことを確認します。これにより、確実にプロジェクトが適切にセットアップされ、"オンザフライ" で生成されたファイルを Klocwork ツールで使用することができます。
  3. 必要であれば、プロジェクト間の依存関係を定義します。依存関係がある場合、その規則に従います (たとえば、静的ライブラリをリンクしている実行可能ファイルは静的ライブラリに依存する、など)。モジュールが独立している場合、1 つのプロジェクトをメインプロジェクトとして取り上げ、それをその他すべてのプロジェクトに依存させます。
  4. kwdspparser または kwvcprojparser を使用して、build specification (ビルドスペック) を生成します。

Visual Studio 6 の例

この例では、Visual Studio 6 でオープンソースプロジェクト WinCVS を使用します。

注: サンプルプロジェクトには .dsp プロジェクトファイルが含まれているので、kwdspparser コマンドを使用して build specification (ビルドスペック) を生成します。お使いのプロジェクトに .vcproj ファイルがある場合は、kwvcprojparser コマンドを使用してください。

WinCVS ソフトウェアシステムに関する情報を収集し、build specification (ビルドスペック) を作成するには:

  1. 作業ディレクトリを .dsp ファイルがある WinCVS の最上位ソースディレクトリに変更します。たとえば、次のようになります。
    cd C:\WinCvs2_0_2_4_Src\WinCvs
    
  2. kwdspparser の --list-configs オプションで、可能な構成のリストを表示します。
    kwdspparser <dsp-file> --list-configs
    
    たとえば、次のようになります。
    kwdspparser wincvs.dsp --list-configs
    
  3. 次のような出力が表示されます (著作権情報の後)。
    Processing "C:\WinCvs2_0_2_4_Src\WinCvs\wincvs.dsp"...
    可能性のある構成:
    リリース
    デバッグ
  4. プロジェクトファイル上でパーサーを実行します。
    kwdspparser <dsp-file> -c <config-name> [-o <output-file>]
    
    この例でデバッグ構成を使用し、それを -cオプションで指定します。
    -oオプションを使用して、build specification (ビルドスペック) ファイルの名前と場所を指定します。デフォルトでは、<dsp-file>.out という名前であり、現在の作業ディレクトリに保存されます。
    たとえば、次のようになります。
    kwdspparser wincvs.dsp -c Debug -o "C:\Program Files\Klocwork\projects_root\config\wincvs2_0_2_4.out"
    
  5. 次のような出力が表示されます (著作権情報の後)。
    Processing configuration "Debug" in project "C:\WinCvs2_0_2-4_Src\WinCvs\wincvs.dsp"...
    これで、プロジェクトの build specification (ビルドスペック) が、指定された場所に保存されます。

Visual Studio 組み込みマクロのサポート

kwvcprojparserkwdspparser は、Visual Studio 組み込みマクロをサポートしています。

Visual Studio は、$(VARIABLE) という形式の環境変数を代わりに使用します。組み込み Visual Studio マクロと環境変数は、同じように展開されます。組み込みマクロのほとんどは、パーサーによって直接サポートされています。サポートされていないマクロに遭遇することはほとんどありませんが、その場合は次のようなメッセージが表示されます。

Processing configuration "Release|Win32" in project "f:\CVSREPOSITORY\Klocwork-HEAD\sources\remote_cxx\kwdistadmin.vcproj"...警告:Environment variable "$(Klocwork_HOME)" is not set

このような場合、お使いの環境でこの変数を定義してください。最も簡単な方法は、コマンドプロンプトを開き、次のコマンドを発行することです。

Set Klocwork_HOME=<your value>

変数の値は、使用法に応じて異なります。

さらに、kwvcprojparser オプションの /useenv は、INCLUDE 環境変数を使用するようパーサーに指示します。INCLUDE 環境変数で指定されるパスはすべて、結果として得られる build specification (ビルドスペック) で system includes として指定され、[ツール] > [オプション] > [プロジェクト] > [VC++ ディレクトリ] で設定される Visual Studio .NET 2003、2005、または 2008 の設定をオーバーライドすることに注意してください。

kwdspparser にはこの機能がなく、Visual Studio 6 の設定が常に使用されることに注意してください。

次は何?

build specification (ビルドスペック) の作成が完了したので、いつでも C/C++ 統合ビルド解析を実行 することができます。