通过使用--coverage
选项构建与共享库链接的可执行文件,能否生成gcov数据文件(.gcda
文件)?
基本上,我有一个由多个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++单元测试框架)