标签: doxygen

如何自定义手册的第一页?

默认情况下,doxygen生成的第一个页面以RTF格式(RTF)生成,具有以下状态:

TITLE

AUTHOR
Version
CREATEDATE
Run Code Online (Sandbox Code Playgroud)

我想定制这个.我已经尝试了以下内容,但它在索引之后自定义了部分,而不是文档的第一页:

/*!
 * @mainpage My Project
 * @version 0.91
 * @author Jack Vance, 2010.
 * CreateDate 2010-06-26
 */
Run Code Online (Sandbox Code Playgroud)

doxygen

2
推荐指数
1
解决办法
7178
查看次数

Doxygen/Objective-C:如何在类docs中显示在类定义之外声明的常量?

我正在使用Doxygen来记录一些Objective-C代码.我在类定义之外声明了一些常量.我想让这些出现在课堂文档中.我怎样才能制造含氧气?(使用\ file只是在单独的文档页面中显示它们).

#import blah blah

/**
 * This is my constant
 */
extern NSString*constant someConstant; 

/**
 * More documentation
 */
@interface MyClass : NSObject <NSCoding> {

 //etc
}
Run Code Online (Sandbox Code Playgroud)

doxygen objective-c

2
推荐指数
1
解决办法
1260
查看次数

C++中方法的const和非const版本之间的区别

关于C++中const和非const方法之间的区别,我有几个问题.

例:

      MyObject* MyClass::objectReference()
const MyObject* MyClass::objectReference() const
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  1. 有没有办法区分手动调用哪个版本的方法?或者它是完全/完全自动的,如果是,那么确定调用哪个版本的准确规则是什么?
  2. 与(1)相关,如果你不能区分调用const和非const版本,那么就不可能从另一个版本调用一个方法版本来防止重复?
  3. 如何在使用doxygen的方法的文档中创建一个版本或另一个版本的链接?(例如"myMethod()的const版本."或"myMethod()的非const版本.") 我自己发现了 - 只需在方法签名的末尾添加或省略"const".

c++ documentation doxygen

2
推荐指数
1
解决办法
693
查看次数

使用shell将字符串"//"替换为"///"

我正在尝试使用doxygen生成Octave API的文档.但是,doxygen仅识别///文档之后的注释,而Octave中的注释样式仅供使用//.我决定运行一个shell命令来改变它并找到了这个

sed -i 's/old-word/new-word/g' *.txt
Run Code Online (Sandbox Code Playgroud)

这里开始.当我使用测试命令

sed -i 's/////// /g' *.txt
Run Code Online (Sandbox Code Playgroud)

要么

sed -i 's/"//"/"/// "/g' *.txt
Run Code Online (Sandbox Code Playgroud)

我收到错误:

sed: -e expression #1, char 5: unknown option to `s'
Run Code Online (Sandbox Code Playgroud)

要么

sed: -e expression #1, char 6: unknown option to `s'
Run Code Online (Sandbox Code Playgroud)

分别.如何正确使用sed,以取代/////

或者,这是一种更简单的方法,例如,在某些IDE和重构中同时打开所有文件.

shell replace doxygen octave

2
推荐指数
1
解决办法
227
查看次数

为什么Doxygen尽管`GENERATE_LATEX = NO`仍然执行pdftex?

我有一个合理的大型C / C ++项目,只想由Doxygen生成文档的HTML版本。在我Doxyfile写的

GENERATE_LATEX = NO
Run Code Online (Sandbox Code Playgroud)

实际上,latex指定的输出目录中没有目录。只是html。但是,我在stderr上得到pdfTex的输出:

...
This is pdfTeX, Version 3.1415926-1.40.11 (TeX Live 2010)
 restricted \write18 enabled.
entering extended mode
(./_formulas.tex
LaTeX2e <2009/09/24>
...
Output written on _formulas.dvi (279 pages, 49376 bytes).
Transcript written on _formulas.log.
...
Run Code Online (Sandbox Code Playgroud)

为什么?

Doxygen的安装说明将LaTeX列为可选(附加)工具,并非必需。因此,我认为HTML生成的基本功能不是必需的。

如何使Doxygen无法执行pdfTex?(不,我不想在计算机上卸载* TeX

documentation doxygen tex

2
推荐指数
1
解决办法
249
查看次数

如何在XSLT中轻松生成唯一字符串?

我有个问题!

我有一个XML文档,其中包含部分和子部分.我正在使用它生成Doxygen页面XSLTProc,现在我遇到了问题.当我生成这样的部分名称时:

<xsl:template match="SECTION/SUBSECTION">
@subsection <xsl:value-of select="@title"/>
<xsl:apply-templates/>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

然后标题的第一个单词没有出现,因为Doxygen希望以这种方式声明:

@subsection <subsectionname> <subsectiontitle>
Run Code Online (Sandbox Code Playgroud)

因此,第一个单词将自动视为子节名称.将随机生成的字符串放在那里似乎不是一个非常简单的任务.我尝试使用唯一的数字,通过使用<xsl:value-of select="count(preceding-sibling::*[@col]) + 1",按预期工作,但事实证明,Doxygen不接受数字作为子部分名称.我还尝试剥离白色空格"@title"并将其用作小节名称,但XSLTProc抱怨它不是直接的孩子<xslt:stylesheet>.我怎样才能轻松地在那里放一些独特的弦?它不一定是有意义的文本.

提前致谢!

xslt doxygen

2
推荐指数
1
解决办法
746
查看次数

Doxygen相关页面

我正在寻找一种自定义相关页面标题的方法; 我的语言环境是法语,所以我得到了

页面协会

但我想提出其他文字.

doxygen

2
推荐指数
1
解决办法
4256
查看次数

合并氧气模块

我有大量针对doxygen运行的代码。为了提高性能,我正在尝试将其分解为模块,然后将结果合并到一组文档中。我以为标记文件可以解决这个问题,但是我配置错误或误解了它的工作原理。

目录布局:

root +
     |-src+
     |    |-a
     |
     |-doc+
          |-a.dox
          |-main.dox
          |-main.md
          |-output+
                  |-a+
                  |  |-html
                  |-main+
                        |-html
Run Code Online (Sandbox Code Playgroud)

除“ a”外,还有其他同级目录,但它们以一个开头。

a.dox生成输出和标记文件到root / doc / output

OUTPUT_DIRECTORY=output/a
GENERATE_TAGFILE = output/a/a.tag
INPUT=../src/a
Run Code Online (Sandbox Code Playgroud)

main.dox只是输入带有主页标签的markdown文件,并引用其他项目标签文件。

OUTPUT_DIRECTORY=output/main
INPUT = main.md
TAGFILES=output/a/a.tag=output/a/html
Run Code Online (Sandbox Code Playgroud)
  1. 是否应该合并或链接main下的所有文档,以便在其中浏览“ a”全局变量,模块,页面等?还是仅当我从“ main”内部显式交叉引用“ a”中的文档化实体时,这才生成到“ a”的链接?
  2. 如果这行得通,对我的语法不正确之处有何想法?我尝试了各种方法来定义TAGFILES,输出目录是否相对于main.dox文件?到a.tag文件?还是到a / html目录?
  3. 如果我不在基础上,那么TAGFILES不能按这种方式工作,是否还有另一种方法可以将多套Doxygen目录合并为一个?

谢谢。

doxygen

2
推荐指数
1
解决办法
5160
查看次数

Doxygen-如何链接到C ++文件范围的全局变量

我有一些看起来像这样的代码:

MyStruct.h

struct MyStruct
{
    // ...

    /**
      * \brief Initializes \link MYSTRUCT \endlink.
      */
    static void init();
};

/**
 * \var MYSTRUCT
 * \brief You must call MyStruct::init() before using this variable.
 */
extern MyStruct const * MYSTRUCT;
Run Code Online (Sandbox Code Playgroud)

我想将Doxygen文档MyStruct::init链接到上的Doxygen文档MYSTRUCT。但是,我提供的Doxygen无法解析该链接。我需要做什么才能使链接正常工作?

注意:Windows 7上的Doxygen v 1.8.4

c++ doxygen

2
推荐指数
1
解决办法
2701
查看次数

Doxygen结构多种语言

我有以下问题:有一个结构,称之为矩阵

struct matrix {
    double** a;
    int r;
    int c;
}
Run Code Online (Sandbox Code Playgroud)

现在我想用德语和英语记录我的结构.

因此,我想要在结构之前简要描述所有成员

/**
 * \~german
 * \brief description
 *
 *
Run Code Online (Sandbox Code Playgroud)

那么我想使用与param函数类似的语法.

有没有办法做到这一点,所以我可以解释结构代码上面的成员?

还有可能这样做

int r; //!< description
Run Code Online (Sandbox Code Playgroud)

但是这对于多种语言来说变得相当混乱并且扰乱了阅读代码的流程.

谢谢

编辑:

找到了解决方案:

/**\struct matrix
 * \~German
 * \brief Beschreibung
 *
 * \~English
 * \brief description
 *
*/

struct matrix {
    double **a; //!<\~English comment \~German Kommentar
    int r;      //!<\~English comment \~German Kommentar
    int c;      //!<\~English comment \~German Kommentar
Run Code Online (Sandbox Code Playgroud)

};

如果其中一种语言位于另一行而不是其元素上,则它无法正常工作.

c struct doxygen commenting

2
推荐指数
1
解决办法
950
查看次数

标签 统计

doxygen ×10

c++ ×2

documentation ×2

c ×1

commenting ×1

objective-c ×1

octave ×1

replace ×1

shell ×1

struct ×1

tex ×1

xslt ×1