gcovr没有导出覆盖率报告可能的原因有以下几种
找不到源码文件
因为gcovr需要源码文件进行覆盖率报告的导出,所以如果gcno和gcda文件和源码不在同一路径下,需要指定源码路径
源码文件被删除
如果没有清理掉之前的gcno和gcda文件,会导致gcovr认为没有找到相应的源码文件。所以如果代码重构过导致一些源码文件被删除,需要清空build目录下的gcno文件,再进行编译。
使用非本机生成的gcno和gcda文件
gcovr无法使用从别的机子拷贝得到的gcno和gcda文件
总的来说gcovr无法生成覆盖率报告的原因就是没找到源码文件,具体分析一下是哪一步出现的问题