8

CMake ベースのプロジェクト (複数のターゲットで構成される) でコード カバレッジを取得しようとしています。

まず、次のように gcno ファイルを生成します。

lcov -b . -d . -o coverage.output --capture --initial

*.gcnoは次の場所に生成されます

build_dir/[target_dir]/CMakeFiles/[target_dir].dir

次に、*.gcnaファイルを生成するテストを実行します

build_dir/tests/CMakeFiles/[target_dir].dir

lcov を再度実行すると、次のようになります。

lcov -b . -d . -o coverage.output --capture

次のエラーが表示されます。

Scanning . for .gcda files ...
Found 23 data files in .
Processing Base.dir/DateTools.cpp.gcda
geninfo: ERROR: build_gcov/tests/CMakeFiles/Base.dir/DateTools.cpp.gcno: could not open file

*.gcnoファイルを*.gcdaが生成されるディレクトリに手動で移動すると、動作するようです。

ご協力いただきありがとうございます!!!

4

1 に答える 1

6

CMakeでlcovを使用する方法を理解し、すべてをcmakeモジュールにバンドルしました。

于 2012-01-31T11:35:43.247 に答える