我遇到了从 python 脚本在共享库上运行 gcov 的问题。
我在以下情况下构建我的库:
将一组文件(file1.c、file2.c)编译成静态链接的 lib(.a)。我使用 ar 实用程序来执行此操作,并且所有文件都使用以下选项编译:
-static -fprofile-arcs -ftest-coverage -coverage
使用其他一些文件(比如 file3.c)和上面指定的 .a 文件构建一个 .so 文件。我在编译和链接时再次使用相同的选项。
在 python 脚本中加载 .so 并执行。
问题:生成的覆盖率文件仅包含 file3.c 的代码覆盖率。属于 .a 库的文件不会显示在覆盖率报告中。
在此处链接 .a 时我是否缺少任何选项。