我想使用 gcov 和 lcov 生成覆盖率报告。
到目前为止我所做的:-
1. I compiled my code using --fprofile-arcs and -fprofile-coverage in
g++.
2. I have linked using lcov.
3. I have .gcno files with th e.o location.
4. When I execute binary, it is resulting into .gcda files.
我必须做的:-
我必须使用这些数据文件 (.gcda) 并想使用 lcov 创建一个干净的报告。
问题:-
有多个目录,其中有源文件,在每个目录中,我正在创建一个 obj/ARCH 目录来保存目标文件。
因此最终的目录结构将是:-
proto ----> MJ1 ----> MJ2 ----> MJ3 ----> MJ4 ----> MJ5
MJ1 ----> .cpp
----> obj/linux/*.o *.gcno *.gcda
MJ2 ----> .cpp
----> obj/linux/*.o *.gcno *.gcda
与 M3、M4、M5 相同。
我正在从 proto 级别执行 lcov,它会找到 .gcda 文件,但在查找 .h 和 .C 文件时会出现一些错误。知道如何使此流程路径独立吗?
Error:-
../MjUtil/glob.h:cannot open source file
../MjUtil/MJError.h:cannot open source file
../MjUtil/OsStatisticsFile.h:cannot open source file
提前致谢。