【发布时间】:2011-04-12 09:23:59
【问题描述】:
是否可以通过运行链接到使用--coverage 选项构建的共享库的可执行文件来生成 gcov 数据文件(.gcda 文件)?
基本上,我的主库由多个 c++ 文件编译到一个共享库中,然后是一个名为“test”的子目录,其中包含一个链接到并测试主库的测试程序。一切都编译得很好,并且为库源文件和测试源文件生成了.gcno 文件。 .gcda 文件只是为测试源文件生成的,但对于编译到共享库中的实际源文件,我确实需要它们。
有什么想法吗?
附加信息:
- 都是C++代码
- 一切都在使用 automake 生成的 make 脚本构建
- 在共享库 Makefile.am 中为 lib_la_CPPFLAGS 和 lib_la_LDFLAGS 指定了 --coverage 选项
- 在测试可执行文件 Makefile.am 中为 AM_CPPFLAGS 和 AM_LDFLAGS 指定了 --coverage 选项
- 测试源文件使用 Google Test(C++ 单元测试框架)
【问题讨论】:
标签: c++ gcc code-coverage automake gcov