自定义 doxygen 预处理器
customizing doxygen preprocessor
我是 Doxygen 的新手,无法确定我是否遗漏了特定的步骤或者代码太难解析了。该项目中几乎每个 class 都会 #include <common.hpp>
,其中定义了以下内容:
#define DFS_NAMESPACE_BEGIN namespace dfs {
#define DFS_NAMESPACE_END }
例如 class 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=YES
MACRO_EXPANSION=YES
EXPAND_ONLY_PREDEF=NO
SEARCH_INCLUDES=YES
这基于 Doxyfile 声称应该足够了。我已经尝试明确指定 common.hpp
路径、PREDEFINED
、关闭 SKIP_FUNCTION_MACROS
和其他一些但没有成功。不过,我能得到 PREDEFINED
的最好结果是 class Thing
而不是 namespace Thing
.
命名空间 do 如果我只是将它们写出来而不是使用上面的 define
,则按预期工作,但我想保留这个宏(或者可能替换它与类似的?)以提高可读性。
这个可以修复吗?有没有另一种方法可以只用原始文本替换 DFS_NAMESPACE_*
之类的东西?感谢您的帮助!
好的,这不是必需的,但我能够让它与
一起工作
ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
PREDEFINED = DFS_NAMESPACE_BEGIN="namespace dfs {"
PREDEFINED += DFS_NAMESPACE_END="}"
SEARCH_INCLUDES = YES
SKIP_FUNCTION_MACROS = YES
我想我原来的 PREDEFINED
枚举有问题,我用 \
转义了它,但我认为前导空格可能导致了问题?
有点沮丧,因为我不想在 Doxyfile 中枚举所有我想要的宏。希望有一天有人能从中受益。
我是 Doxygen 的新手,无法确定我是否遗漏了特定的步骤或者代码太难解析了。该项目中几乎每个 class 都会 #include <common.hpp>
,其中定义了以下内容:
#define DFS_NAMESPACE_BEGIN namespace dfs {
#define DFS_NAMESPACE_END }
例如 class 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=YES
MACRO_EXPANSION=YES
EXPAND_ONLY_PREDEF=NO
SEARCH_INCLUDES=YES
这基于 Doxyfile 声称应该足够了。我已经尝试明确指定 common.hpp
路径、PREDEFINED
、关闭 SKIP_FUNCTION_MACROS
和其他一些但没有成功。不过,我能得到 PREDEFINED
的最好结果是 class Thing
而不是 namespace Thing
.
命名空间 do 如果我只是将它们写出来而不是使用上面的 define
,则按预期工作,但我想保留这个宏(或者可能替换它与类似的?)以提高可读性。
这个可以修复吗?有没有另一种方法可以只用原始文本替换 DFS_NAMESPACE_*
之类的东西?感谢您的帮助!
好的,这不是必需的,但我能够让它与
一起工作ENABLE_PREPROCESSING = YES
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
PREDEFINED = DFS_NAMESPACE_BEGIN="namespace dfs {"
PREDEFINED += DFS_NAMESPACE_END="}"
SEARCH_INCLUDES = YES
SKIP_FUNCTION_MACROS = YES
我想我原来的 PREDEFINED
枚举有问题,我用 \
转义了它,但我认为前导空格可能导致了问题?
有点沮丧,因为我不想在 Doxyfile 中枚举所有我想要的宏。希望有一天有人能从中受益。