当源文件位于我的根目录的相对位置时,我正在尝试从 gcovr 获取正确的 html 输出。
例如(我会提到 gcovr 工作的两种情况,以及它有问题的地方):
案例:1 - gcovr 工作没有问题 我的根目录的结构如下,在我使用 --html --html-details 从根目录运行 gcovr 之后
source/myfile.c
obj/myfile.o, myfile.gcda, myfile.gcno, myfile.c.gcov
gcovr_reports/report.html, report_myfile.html
所以一切正常,我有 html 通用报告(report.html)以及详细报告(report_myfile.html)。
案例:2 - gcovr 无法正常工作 我的根目录的结构如下,在我使用 --html --html-details 从根目录运行 gcovr 之后)
../../../Common/Source/myfile.c
obj/Common/Source/myfile.o, myfile.gcda,myfile.gcno,^#^#^#Common#Source#gcovmyfile.gcov
gcovr_reports/report.html, report.C
现在如您所见,gcovr 在 gcovr_report/ 目录中生成“report.C”文件
还创建了带有摘要的一般 html 报告 (report.html),但不是我的源文件 "myfile.c" 的详细报告。当我查看 obj 目录时,它会创建以下文件(如下所示):
^#^#^#Project#Common#Source#myfile.c.gcov
当我查看
^#^#^#Project#Common#Source#myfile.c.gcov,
路径解析如下:
Source:../../../Project/Common/Source/myfile.c
但应该是:
Source:../../../../../../../Project/Common/Source/myfile.c
gcovr 命令是:
C:\Python34\Scripts\gcovr -v -b -r C:\Project\UnitTests\myModule\module1 -- object-directory C:\Project\UTests\myModule\module1\test-obj\Common\Source -- html --html-details -o govr_report\report.html
知道我做错了什么吗?