lcov不会为使用相对于项目根目录的路径包含的头文件生成覆盖数据。
我有以下简化的文件结构: ./main/main.cpp:
#include "bar/bar.hpp"
int main()
{
Bar bar;
}
./酒吧/ bar.hpp:
struct Bar
{
Bar(){}
};
./生成文件:
cov: app
./app
lcov -c -d . -b . -o cov.info
genhtml cov.info --output-directory ./html/
GCOV_FLAGS = -g -fprofile-arcs -ftest-coverage
app : main/main.o
g++ ${GCOV_FLAGS} main/main.o -o app
main/main.o : main/main.cpp
g++ -I. ${GCOV_FLAGS} -c main/main.cpp -o main/main.o
当我运行make cov时,我收到以下警告:
geninfo: WARNING: no data found for /home/casserso/playground/gcov/./bar/bar.hpp
并且没有为bar.hpp生成覆盖率数据
如果我将#include“bar / bar.hpp”更改为main.cpp中的#include“../bar/bar.hpp”,一切都很好。
有人可以帮我解决这个问题
由于 基督教
答案 0 :(得分:1)
将lcov版本从1.7更新为1.9解决了这个问题。
感谢您的所有投入。