我在同一个文件夹中有两个文件夹,如下所示:-
1.src(它包含我的 cpp 文件)
2.linux(我正在运行 g++ 并执行 o 文件)
现在我正在运行如下命令
cd linux
g++ --coverage ../src/example1.cpp -o example1
./example1
cd ..
/opt/gcovr-3.2//scripts/gcovr -v -r .
我得到了输出,覆盖率为 0%
扫描目录。对于 gcda/gcno 文件...
找到 2 个文件(并将处理 1 个)
运行 gcov: 'gcov /opt/gcovr-3.2/doc/examples/example1/linux/example1.gcda --branch-counts --branch-probabilities --preserve-paths --object-directory /opt/gcovr-3.2/doc/examples/example1/linux' in '/opt/gcovr-3.2/doc/examples/example1/linux'
解析文件 /opt/ 的覆盖率数据gcovr-3.2/doc/examples/src/example1.cpp
过滤文件的覆盖率数据 /opt/gcovr-3.2/doc/examples/src/example1.cpp
收集0个文件的覆盖率数据
为了进一步调试,我转到“linux”文件夹,如下命令运行
gcov /opt/gcovr-3.2/doc/examples/example1/linux/example1.gcno --branch-counts --branch-probabilities --preserve-paths --object-directory /opt/gcovr-3.2/doc/examples/example1/linux
我得到了有效覆盖的输出
/opt/gcovr-3.2/doc/examples/example1/linux
文件 '../src/example1.cpp'
执行的行数:7 个执行的分支的 85.71%
:2 个分支的 100.00%
至少
执行一次:2 个调用的 50.00% :100.00% of 1
../src/example1.cpp:creating '..#src#example1.cpp.gcov'
现在我想知道我做错了什么?我的项目很复杂,所以我不想将所有 cpp 文件从各自的“src”文件夹复制到各自的“linux”文件夹。我尝试了--object-directory
同样的结果。