【发布时间】:2015-01-22 19:10:09
【问题描述】:
这是我用 Doxygen 进行的一个小实验。 假设我有 6 个文件:
h1.h:
class A
{
public:
int func1();
}
f1Data.h:
#define val 10
f1.cpp:
#include "h1.h"
#include "f1Data.h"
int A::func1()
{
return val;
}
h2.h:
#include "h1.h"
class B: public A
{
public:
int func2();
};
f2Data.h
#define val 20
f2.cpp
#include "h2.h"
#include "f2Data.h"
int B::func2()
{
return val;
}
当我将 GENERATE_XML=yes 和 CALL_GRAPH=yes 放入我的配置文件并运行 doxygen 时,我在生成的 XML 文件中看到了一个错误。特别是,我看到在 A::func1() 的引用中,给出了来自 f2Data.h 的 #defined 值,而不是来自 f1Data.h 的 #defined 值。仅当两个文件中的宏名称相同时才会发生这种情况[在这种情况下,val]。
谁能告诉我这是 doxygen 的错误还是我对 doxygen 的错误使用?
【问题讨论】: