【问题标题】:Using gcov to test a c++ program使用 gcov 测试一个 c++ 程序
【发布时间】:2015-07-06 02:25:06
【问题描述】:

我第一次使用 gcov 来分析我的程序 (C++) 该程序由三个类组成,我使用 Code::Blocks 构建了该项目。 当我使用以下命令调用程序时:

C:\Users\XXX\Documents\Test\TreeObjModel\src>gcc -fprofile-arcs -ftest-coverage Tree.cpp

我收到以下错误:

Tree.cpp:1:18:致命错误:Tree.h:没有这样的文件或目录 编译终止

虽然 cpp 文件位于目录 "C:\Users\XXX\Documents\Test\TreeObjModel\src\" 中,但头文件位于目录 "C:\Users\XXX\Documents\Test\TreeObjModel\include \"

我们需要把代码和头文件放在同一个目录吗?

提前致谢。

【问题讨论】:

    标签: c++ gcc g++


    【解决方案1】:

    您应该使用-I 标志来指定头文件的位置。

    从你的例子来看,你应该添加-I../include

    【讨论】:

      【解决方案2】:

      您至少有两个选项可以指示编译器在哪里找到头文件(包含)。

      1. -Ipath_to_includes 作为 gcc 编译器的参数。例如。 -I../include
      2. 当包含在您的程序中时,请指定目录。例如。 #include "../include/foo.h"

      我的策略是成功编译我的项目,然后才尝试使用其他一些东西,例如代码覆盖的标志。我这样说是因为您的错误与 gcov 没有任何关系,并且尝试在您的程序甚至编译之前对您的程序进行检测以获取代码覆盖率,这使您的事情变得更加复杂。一次一步;)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-20
        • 1970-01-01
        • 2016-04-02
        • 1970-01-01
        • 2021-11-26
        • 2016-10-18
        • 2011-11-21
        • 1970-01-01
        相关资源
        最近更新 更多