lcov는 프로젝트 루트와 관련된 경로를 사용하여 포함 된 헤더 파일에 대한 적용 데이터를 생성하지 않습니다.gcov/lcov : 헤더 파일의 적용 범위 생성 문제.
I가 다음과 같은 단순화 된 파일 구조 : ./main/main.cpp :
#include "bar/bar.hpp"
int main()
{
Bar bar;
}
./bar/bar.hpp :
struct Bar
{
Bar(){}
};
./Makefile :
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을 #include를 위해 #INCLUDE"바/bar.hpp "를 변경하는 경우에는 적용 데이터는 bar.hpp
에 대해 생성되지 않습니다 /bar.hpp "main.cpp에서 다 괜찮습니다.
은 누군가가 나에게 문제를 해결 1.7 1.9에서 lcov 버전 업데이트이 문제를
감사 기독교
우리에게 기본 디렉토리의 전체 디렉토리 경로와 헤더를 보여주십시오. 나는 당신이 틀린 위치에 있다고 생각합니다. – andre
/home/casserso/playground/gcov/main/main.cpp – asserson
/home/casserso/playground/gcov/bar/bar.hpp – asserson