.gcda
是否可以通过运行链接到使用该--coverage
选项构建的共享库的可执行文件来生成 gcov 数据文件(文件)?
基本上,我的主库由多个 c++ 文件编译到一个共享库中,然后是一个名为“test”的子目录,其中包含一个链接到并测试主库的测试程序。一切都编译得很好,并且.gcno
为库源文件和测试源文件生成了文件。这些.gcda
文件只是为测试源文件生成的,但我真的需要它们用于编译到共享库中的实际源文件。
有任何想法吗?
附加信息:
- 都是 C++ 代码
- 一切都是用 automake 生成的 make 脚本构建的
- --coverage 选项是为共享库 Makefile.am 中的 lib_la_CPPFLAGS 和 lib_la_LDFLAGS 指定的
- --coverage 选项在测试可执行文件 Makefile.am 中为 AM_CPPFLAGS 和 AM_LDFLAGS 指定
- 测试源文件使用 Google Test(一个 C++ 单元测试框架)