如何使用 Doxygen 链接(引用)结构的成员?

ros*_*ose 6 c doxygen

我想在显示文本 struct.member 时“链接”到 Doxygen 中的结构或结构成员。我的源代码是C语言的。

例如,假设我在 C 中有 myStruct 类型/结构:

typedef struct
{
    int member1;
    int member2;
} myStruct;
Run Code Online (Sandbox Code Playgroud)

我想在 Doxygen 注释中链接/重定向到 myStruct 上的文档,同时显示文本“myStruct.member1”

函数的 Doxygen 注释示例:
如果 myStruct.member1 大于 5,您将收到错误代码 MEMBER_1_NOT_VALID。

单击“myStruct.member1”会将我重定向到 myStruct 的文档。

我知道如果我只有 myStruct 我可以说“\ref myStruct”,但执行“\ref myStruct.member1”不起作用。有谁知道如何使文档参考有效?

任何帮助表示赞赏!谢谢。

gmu*_*mug 6

我认为问题在于您一起定义了类型和结构。Doxygen 的解析器似乎在结构体和 typedef 的混合声明方面存在问题。尝试分别定义结构和类型定义:

struct myStruct_s
{ 
    int member1;
    int member2;
};

typedef struct myStruct_s myStruct;
Run Code Online (Sandbox Code Playgroud)

您可以使用结构的标签名称来引用结构成员,类似于您已经尝试过的:

/**
 * ...
 * You will receive the error code MEMBER_1_NOT_VALID if \ref myStruct_s.member1 
 * is larger than 5.
 * ...
 */
Run Code Online (Sandbox Code Playgroud)

  • 提示:如果这不起作用,请记录该结构的成员。 (4认同)