3

这个问题是由于 doxygen 解析约束造成的。我在 Kinetis Design Studio 中使用 doxygen 1.8.11 和 Eclox(eclipse 插件)进行嵌入式 C 开发。

几乎所有的 doxygen 编译工作,除了我需要有一些非常大的静态数组。我不想弄乱主要代码,所以我使用了在这些论坛上找到的 hack ( https://stackoverflow.com/a/4645515/6776259 ):

static const float Large_Array[2000] = {
#include "Comma_Delimited_Text_File.txt"
};

不幸的是,该 hack 导致我的 main.c main_module组的编译失败。出现以下错误:

警告:在组内时文件结束

我尝试使用以下内容从我的main_module组中排除这些常量:

/*!
**  @addtogroup main_module
**  @{
*/
...
... header code ...
...
/*!
** @}
*/
static const float Large_Array[2000] = {
#include "Comma_Delimited_Text_File.txt"
};
/*!
**  @addtogroup main_module
**  @{
*/
...
More code, definitions, etc.
None of this is generated in the doxygen compile...?
/*!
** @}
*/

这消除了 doxygen 编译错误,但编译后的 doxygen 文档在 Large_Array 声明之后不包含任何内容。所以似乎第二个@addtogroup语句不起作用。

我错过了一些简单的东西吗?任何帮助表示赞赏。谢谢你。

4

1 回答 1

1

如果 Comma_Delimited_Text_File.txt 没有尾随换行符,请尝试添加一个。

如果包含文件不以换行符结尾,Doxygen 会感到困惑。这也会破坏其他文件的文档生成,即使它们看起来不相关。这通常会导致符号丢失和调用图损坏

于 2016-09-01T06:11:47.883 回答