このセクションのサンプルでは、いくつかのプロジェクトに対して C/C++test を統合する方法について説明します。

  • 複数のソース ファイルがあり静的または動的ライブラリを含まないビルド
    コンパイル フェーズ:
    すべてのソース ファイルまたは選択されたサブセットに対して、目的のカバレッジ メトリクスを有効化するオプションを指定し、先頭に cpptestcc ツールを付加してコンパイルする必要があります。
    リンク フェーズ:
    リンカー コマンド ラインを変更し、カバレッジ ツールのライブラリをインクルードします。多くの場合、静的ライブラリをインクルードします。

    g++ source1.o source2.o <cov tool install dir>/runtime/lib/cpptest.a
  • 複数のソース ファイルをコンパイルし、事前に複数の静的ライブラリがメイン オブジェクトにリンクされるビルド
    コンパイル フェーズ:
    すべてのソース ファイルまたは選択されたサブセットに対して、目的のカバレッジ メトリクスを有効化するオプションを指定し、先頭に cpptestcc ツールを付加してコンパイルする必要があります。静的ライブラリのカバレッジも取得する必要がある場合、ライブラリも同様にインストゥルメントします。
    リンク フェーズ:
    リンカー コマンド ラインを変更し、カバレッジ ツールのライブラリをインクルードします。多くの場合、静的ライブラリをインクルードします。カバレッジ ツール ライブラリを 1 度だけ、通常は実行モジュールのリンク中に追加することが重要です。ビルド中に作成される静的ライブラリにはカバレッジ ライブラリを含めるべきではありません。
  • 複数のソース ファイルをコンパイルし、事前に複数の動的/共有ライブラリがメイン オブジェクトにリンクされるビルド
    コンパイル フェーズ:
    すべてのソース ファイルまたは選択されたサブセットに対して、目的のカバレッジ メトリクスを有効化するオプションを指定し、先頭に cpptestcc ツールを付加してコンパイルする必要があります。動的ライブラリのカバレッジも取得する必要がある場合、ライブラリも同様にインストゥルメントします。
    リンク フェーズ:
    • 動的ライブラリのリンク コマンドを変更し、カバレッジ ツールの共有/動的ロード ライブラリをインクルードします。
    • 静的ライブラリのリンク コマンドは変更しません。
    •  実行モジュールのリンク コマンドを変更し、カバレッジ ツールの共有/動的ロード ライブラリをインクルードします。
  • 以下を含むビルド:
    •  複数のソース ファイルのコンパイル
    • 事前に複数の動的/共有ライブラリがメイン オブジェクトにリンクされる
      事前に複数の静的ライブラリがメイン オブジェクトにリンクされる
      コンパイル フェーズ: すべてのソース ファイルまたは選択されたサブセットに対して、目的のカバレッジ メトリクスを有効化するオプションを指定し、先頭に cpptestcc ツールを付加してコンパイルする必要があります。動的または共有ライブラリのカバレッジも取得する必要がある場合、ライブラリも同様にインストゥルメントします。
      リンク フェーズ:
      • 動的ライブラリのリンク コマンドを変更し、カバレッジ ツールの共有/動的ロード ライブラリをインクルードします。
      •  静的ライブラリのリンク コマンドは変更しません。
      • 実行モジュールのリンク コマンドを変更し、カバレッジ ツールの共有/動的ロード ライブラリをインクルードします。


  • No labels