我试图在基于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的目录时,它似乎可以工作。
谢谢你的帮助!
发布于 2012-01-31 11:35:43
我已经想出了如何在CMake中使用lcov,并将所有内容打包到cmake module中。
https://stackoverflow.com/questions/9068215
复制相似问题