2012-07-30 79 views
1

我正在试图编写一个嵌入在命名空间中的类,并且我想举例说明使用情况。我已经编写并包含了这些示例,并且它们显示在示例选项卡中。然而,它们并没有在课堂上引用。例如,从this page代码,他们Doxygen的命令写为:如何给Doxygen提供一个类的示例代码?

/** \example example_test.cpp 
* This is an example of how to use the Test class. 
* More details about this example. 
*/ 

看来,Doxygen的解析命令和文件,并认可该Test类引用。这似乎并没有发生在我身上。这个功能没有很好的记录,并且几乎不可能Google for。

这是我的代码的总体布局:

namespace exampleSpace 
{ 
    ///Doxygen documentation 

    class exampleClass {}; 

    ///@example example1.cpp 
    /// example1 description 
    ///@example example2.cpp 
    /// example2 description 
} 

的例子描述命名类,象一个官方文档。但是,Doxygen似乎认可他们,而不是我的。

我的示例代码是完整的,编译/正确运行。

那么,放置这些命令的正确位置在哪里,因此Doxygen知道它们是这个特定类的示例吗?

编辑:看来Doxygen实际上是解析源代码,因为它成功链接到代码中的类和任何成员函数。但是,课程页面本身并不链接到文件。

+0

它可能希望你有文件和类描述为好。我不记得在哪种情况下,这帮助了我。 – 2012-07-30 19:48:31

+0

我不完全确定你的意思。你是说'@ example'命令期望类描述吗?从文档看,似乎并不是这样。我甚至不知道如何指定它。 – Littlegator 2012-07-30 19:50:47

+0

您是否在您的Doxygen配置文件中正确设置了EXAMPLE_PATH? – 2012-07-30 19:50:49

回答

1

只是猜测在这一点上,但我敢打赌,由于命名空间,Doxygen并不匹配。

一些想法,使连接发生:

  • 明确限定所有名的命名空间中的示例
  • 放入例子的代码
+0

这就是我怀疑的,但我会想象它会工作,如果代码编译和运行。有没有什么可以尝试和调试呢?我几乎处于停滞状态。编辑:它看起来像解析,因为类和方法链接到他们各自的Doxygen页面。 – Littlegator 2012-07-30 19:44:05

+0

Hm,显式地使用名称空间(即'exampleSpace :: exampleClass')而不是'使用名称空间exampleSpace;'似乎有诀窍。 – Littlegator 2012-07-30 19:55:35

+0

@Littlegator是的,如果你想一想,当有一个非限定名称时,除非你解析所有包含的文件,否则不可能知道它来自哪个名称空间。我不知道doxygen是否支持'使用exampleSpace :: exampleClass'在打字时减少一些,并且仍然建立链接 – 2012-07-31 04:26:18

相关问题