为什么doxygen找不到我的文件

时间:2017-09-06 12:50:06

标签: doxygen

我有一个庞大的代码,使用doxygen生成文档。

在我的doxygen配置文件中我有

INPUT                  = ../../src/Fibers \
                         ../../src/SolveursContact/solverAC2
##                       plus some other path
RECURSIVE              = YES

并且EXCLUDE标记排除了某些目录,但不包括与此问题相关的目录。

然后,当我运行doxygen时,我收到以下警告(不完整列表)

path/to/src/Fibers/Rendering/Hair/Rendering/Scattering/model.h:4: warning: include file math.h not found, perhaps you forgot to add its directory to INCLUDE_PATH?
path/to/src/Fibers/Rendering/Hair/Rendering/Scattering/model.h:5: warning: include file iostream not found, perhaps you forgot to add its directory to INCLUDE_PATH?
path/to/src/Fibers/Simulation/Configuration.hpp:205: warning: include file ConfigurationParams.def.h not found, perhaps you forgot to add its directory to INCLUDE_PATH?
path/to/src/Fibers/Simulation/SolverManager.cpp:315: warning: include file AC2MecheSolvers.def.h not found, perhaps you forgot to add its directory to INCLUDE_PATH?

(我的路径很长,但都是正确的。)

第一点是,我显然不希望doxygen包含math.hiostream的任何文档,而其他一些文件包含iostream而没有此警告。那我为什么要在这里发出这个警告呢?

第二点,我的文件ConfigurationParams.def.hAC2MecheSolvers.def.h实际上是通过doxygen找到的,因为我已经检查了每个文件的html文档页面。那么为什么他们没有联系到这里呢?

我的问题文件的路径是

path/to/src/SolveursContact/solverAC2/src/AC2MecheSolvers.def.h
path/to/src/Fibers/Parameters/ConfigurationParams.def.h

model.h

1  #ifndef MODEL_MECHE_H
2  #define MODEL_MECHE_H
3
4  #include <math.h>
5  #include <iostream>

Configuration.hpp

200  #define EXPAND_CONF_PRMWO(n, t, d) \
201      t n ;
202  #define EXPAND_CONF_PARAM(n, t, I, d) \
203      t n ;\
204      t n##SI ;
205  #include "ConfigurationParams.def.h"

SolverManager.cpp

310  #ifdef SOLVER_AC2
311  #define EXPAND_MECHE_SOLVER(n, g, l) \
312      case Configuration::SOLVER_FUNC_##g##_##l : \
313                            res = ac2Solver->solve(g, (LocalSolver) l) ; \
314      break ;
315  #include "AC2MecheSolvers.def.h"

修改 Doxygen版本是1.8.11。

1 个答案:

答案 0 :(得分:0)

当从命名空间中包含标准标头时,我遇到了这个问题(使用doxygen 1.8.14):

namespace ns {
#include <iostream>
// more stuff
}

这也可以间接发生:

// header file
#include <iostream>
// implementation file
namespace ns {
#include "header.h"
// more stuff
}