问题描述
我在一个文件夹中有 3 个文件。 one.cpp
、one.hpp
和 main.cpp
。 one.hpp
有一个类声明。 one.cpp
在同一个命名空间下定义了类中的函数。我从 main 中的类调用一个函数,并在 main 中包含 one.hpp
。如何使用 gcov 编译和运行所有这些文件以生成覆盖率?
解决方法
按照约翰的建议使用 g++ -I. main.cpp one.cpp
编译代码。在编译和执行后获取覆盖对象将行修改为 g++ --coverage -I. main.cpp one.cpp
。它生成了 a.out
并需要 .gcna
和 .gcda
文件。生成了我想要的覆盖报告。感谢帮助。