【问题标题】:Doxygen EXTRACT_ALL=NO does not workDoxygen EXTRACT_ALL=NO 不起作用
【发布时间】:2014-05-31 11:53:55
【问题描述】:

我在 C 项目中使用 doxygen 时遇到以下问题。我有许多没有记录的内部结构。因此它在我的 Doxyfile 中设置了EXTRACT_ALL=NO。不幸的是,doxygen 仍然会提取其中的一些。这是一个最小的工作示例。假设以下头文件:

#ifndef HASHTABLE_H
# define HASHTABLE_H
#ifdef __cplusplus
extern "C" {
#endif
typedef void* object;
typedef char *(*object_getname)( object obj);
typedef void (*object_free)( object obj);
typedef mess_int_t (*object_hash)( char *name,  mess_int_t size);
typedef struct  {
 hashtable_entry *next;
 object *obj;
} hashtable_entry;
typedef struct {
 object_getname name;
 object_free freigabe;
 object_hash hash;
 mess_int_t size;
 hashtable_entry **hashtable;
} hashtable_t;
typedef hashtable_t * hashtable;

#ifdef __cplusplus
}
#endif
#endif

以及在 Doxyfile 中设置的以下选项:

EXTRACT_ALL            = NO
EXTRACT_PRIVATE        = NO 
EXTRACT_PACKAGE        = NO
EXTRACT_STATIC         = NO
EXTRACT_LOCAL_CLASSES  = NO 
EXTRACT_LOCAL_METHODS  = NO
EXTRACT_ANON_NSPACES   = NO

但在生成数据结构列表中列出了两个结构。在其他文件中以相同方式定义的其他一些未记录的结构没有列出,正如我在EXTRACT_ALL=NO 的描述中所期望的那样。为什么 doxygen 提取一些而另一些不提取?

整个 doxyfile 可在:http://pastebin.com/J7c9BbvW

我正在使用 doxygen 1.8.5

【问题讨论】:

  • 我试图用 1.8.5 重现您的问题,将代码写入文件 aa.c 和标准 Doxyfile 并按照指示设置所有 EXTRACT_...,但无法在 HTML 输出中重现它我只看到一个空的主页。你能分享更多信息吗?
  • 我在那里上传了整个 doxyfile:pastebin.com/J7c9BbvW 对我来说这两个结构都可见。有趣的是,似乎只列出了 *.h 文件中的结构。 *.c 文件中的内部元素不会出现在文档中。
  • 即使是使用doxygen -g 生成的新 Doxyfile 也会给我同样的结果。
  • 我这边的问题是我把代码放在了h文件的c文件中。
  • 要实现你想要的,我认为,你必须设置:HIDE_UNDOC_MEMBERS = YES 和 HIDE_UNDOC_CLASSES = YES

标签: doxygen


【解决方案1】:

问题的答案是,就像我们在上面的 cmets 中讨论过的那样,以下设置有效:

EXPORT_ALL=NO 

Doxyfile 中防止doxygen 只从头文件而不是所有源文件中提取数据结构。

设置

HIDE_UNDOC_MEMBERS = YES
HIDE_UNDOC_CLASSES = YES

禁用头文件中未记录结构的列表。

【讨论】:

  • 'EXPORT_ALL'?那不应该是“EXTRACT_ALL”吗?
【解决方案2】:
ENABLE_PREPROCESSING   = NO

很遗憾,doxygen 不解析多头文件保护:

#ifndef HASHTABLE_H
# define HASHTABLE_H

【讨论】:

    猜你喜欢
    • 2020-09-19
    • 2012-05-31
    • 1970-01-01
    • 1970-01-01
    • 2020-12-06
    • 2017-08-20
    • 2010-11-05
    • 1970-01-01
    • 2020-04-28
    相关资源
    最近更新 更多