не могу создать информацию о покрытии с помощью lcov. ПРЕДУПРЕЖДЕНИЕ: файлы .gcda не найдены в ./coverage - PullRequest
0 голосов
/ 29 апреля 2020

Я пытался заставить работать покрытие кода для Qt, но я борюсь с созданием любой информации покрытия

  1. Проект
    example.pro (содержит include для googletest.pri)
    • gtest_dependency (содержит googletest.pri
      • заголовочные файлы для gtest
        testsuite.h
        исходные файлы для gtest
        test. cpp
        testsuite. cpp
    • main. cpp
      Все приведенные выше файлы практически пусты, только код для запуска теста и один тестовый пример.

Я включил флаги компоновщика в example.pro

QMAKE_CXXFLAGS += -O0 -g --coverage 
QMAKE_LFLAGS += -O0 -g --coverage

Проблема в том, что когда я собираю проект, он создает все файлы .gcna .gcno. , но когда я выполняю lcov, он говорит

ВНИМАНИЕ: в ./coverage -skipping нет файлов .gcda!
Завершено создание .info-файла
Чтение файла трассировки ./coverage/coverage.info
lcov: ОШИБКА: в файле трассировки не найдено действительных записей ./coverage/coverage.info
Чтение данных file ./coverage/coverage-filtered.info
gen html: ОШИБКА: невозможно прочитать файл ./coverage/coverage-filtered.info

Qt Version 5.14.2
Compiler mingw730_64
версия lcov 1.14
версия gcov 7.5.0

1 Ответ

0 голосов
/ 01 мая 2020

Хорошо, мне удалось это исправить
Если вы столкнулись с той же проблемой, что и я, проверьте, установлен ли у вас googletest в / usr / include, так как я использую lcov и так далее на linux bash, это не может найти что-нибудь, так как все было установлено поверх / mnt /, и он не может найти gtest, так как он ищет в /usr.
То же самое касается qt, он не может найти файлы, даже если он включен с -L и -I.
Мне пришлось установить оба в / usr /

...