Я попытался упростить здесь свою задачу. Я скомпилировал два приложения CPP для настройки арки с машины ubuntu x86. Эти 2 приложения включены почти в один и тот же набор файлов. cpp. Лишь несколько файлов. cpp различаются для обоих, что делает эти два приложения разными. Я использовал -fprofile-arcs -ftest-охват в моем файле make.
Моя структура исходных каталогов выглядит так. У них будут файлы .gcno, сгенерированные после сборки.
/project/source/
a.cpp
b.cpp
c.cpp
d.cpp
app1_main.cpp
app2_main.cpp
Инструкции по сборке, например:
arm-marvell-linux-gnueabi-g++ -fprofile-arcs -ftest-coverage app1_main.cpp -o app1_main a.cpp b.cpp c.cpp
arm-marvell-linux-gnueabi-g++ -fprofile-arcs -ftest-coverage app2_main.cpp -o app2_main a.cpp b.cpp d.cpp
После сборки у меня есть файлы ниже в
/project/source/:`
app1_main
app1_main.gcno
app2_main
app2_main.gcno
Теперь я копирую оба вышеуказанных двоичных файла на машину и пытаюсь запустить оба, поскольку каждое приложение зависит от полной функциональности. Я вижу .gcda, созданный в каталоге / project / source на машине arm.
Теперь я использую lcov & gen html для создания отчетов о покрытии. Они генерируют отчет о покрытии для общих файлов a. cpp и b. cpp, но проблема, которую я вижу, заключается в том, что этот отчет о покрытии принадлежит обоим двоичным файлам app1_main и app2_main. Как мне дифференцировать это покрытие, чтобы я мог сказать, сколько процентов поступает от app1_main, а другие от app2_main ?? ?
Заранее спасибо.