我第一次使用gcov来分析我的程序(C ++) 该程序由三个类组成,我使用Code :: Blocks构建了该项目。 当我使用以下命令调用程序时:
C:\用户\ XXX \文件\测试\ 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”中\“
我们是否需要在同一目录中同时拥有代码和头文件?
提前致谢。
答案 0 :(得分:1)
您应该使用-I
标志来指定头文件的位置。
从您的示例来看,您应该添加-I../include
答案 1 :(得分:0)
您至少有两个选项可指示编译器在何处查找头文件(包括)。
-Ipath_to_includes
作为gcc编译器的参数。例如。 -I../include
#include "../include/foo.h"
我的策略是成功编译我的项目,然后尝试使用其他一些东西,比如代码覆盖的标志。我之所以这么说,是因为你的错误与gcov无关,并且在你的程序编译之前尝试检测程序以获得代码覆盖率,这会使事情变得更加复杂。一步一步;)