【发布时间】:2016-10-04 08:58:42
【问题描述】:
我是 Doxygen 的新手,不知道是我遗漏了特定步骤还是代码太难解析。这个项目中几乎每个类都会#include <common.hpp>,其中定义了以下内容:
#define DFS_NAMESPACE_BEGIN namespace dfs {
#define DFS_NAMESPACE_END }
例如在 Alg/Thing.hpp 类中
#ifndef _DFS_ALG_THING_H
#define _DFS_ALG_THING_H
#include <common.hpp>
DFS_NAMESPACE_BEGIN
class Thing {
...
};
DFS_NAMESPACE_END
#endif
我有
ENABLE_PREPROCESSING=YESMACRO_EXPANSION=YESEXPAND_ONLY_PREDEF=NOSEARCH_INCLUDES=YES
这基于 Doxyfile 声称应该足够的内容。我已经尝试明确指定common.hpp 路径、PREDEFINED、关闭SKIP_FUNCTION_MACROS 以及其他一些但没有成功。不过,我能得到的最好的PREDEFINED 是class Thing,而不是namespace Thing。
命名空间做如果我只是写出来而不是使用上面的define,则可以按预期工作,但我想保留这个宏(或者用类似的宏替换它?)为了可读性。
这可以修复吗?是否有另一种方法可以只是原始文本替换 DFS_NAMESPACE_* 或其他东西?感谢您的帮助!
【问题讨论】: