标签: doxygen

在包/命名空间级别添加.NET源文档以便使用Doxygen进行处理

我使用doxygen和XML文档注释为我们的框架库创建内部API文档.

Doxygen为每个命名空间创建一个"包".我想知道是否有可能在命名空间级别添加源文档以显示在Doxygen的包视图中?

.net documentation doxygen documentation-generation

3
推荐指数
1
解决办法
801
查看次数

C++类操作符的Doxygen Out of Line记录

如果我在一个文件中有一个类我无法改变,但我需要在doxygen中记录,最好的方法是什么?我知道最好在实际的.h或.cpp文件中记录,但在这个特定的例子中,这是不可能的.

我已经想出如何记录一些成员,但我不能以可靠的方式记录操作员.让我举个例子.这是一个示例类,其中包含导致问题的成员和一个运行良好的成员:

class Foo
{
public:
    int Bar();
    bool operator!() const;
};
Run Code Online (Sandbox Code Playgroud)

在其他一些doxygen透视的文件中,我提出了以下内容:

/// @fn Foo::Bar
/// @brief Some info about the constructor
/// @return Some stuff about what bar returns
Run Code Online (Sandbox Code Playgroud)

构造函数的文档有效,但这不符合:

/// @fn Foo::operator!
/// @brief Some info about the operator
/// @return Some stuff about what the operator! returns
Run Code Online (Sandbox Code Playgroud)

也不是:

/// @fn operator!
/// @memberof Foo
/// @brief Some info about the operator
/// @return Some stuff about what the operator! returns
Run Code Online (Sandbox Code Playgroud)

我也尝试用%和%来逃避各个部分.所以它看起来像"/// @fn%operator!","/// @fn operator%!" 或"/// @fn运算符!" …

c++ doxygen

3
推荐指数
1
解决办法
3099
查看次数

如何确保文档显示备用#ifdef'd代码

我正在开发一个跨平台的库.有些代码是依赖于平台的,因此我必须使用它们来#ifdef检查平台类型.我将一个类分成两个类,每个类都用于自己的平台.这些类有不同的名称,但最后我需要typedef根据平台将这些类转换为一种类型:

#ifdef UNIX
/** some comment */
typedef Key_unix Key;
#elif WIN
/** another comment */
typedef Key_win Key;
#endif
Run Code Online (Sandbox Code Playgroud)

生成的文档仅显示typedef包含两个注释的第一个文档.如何将两者展示typedef在一起,每个都有自己的评论?

documentation typedef doxygen conditional-compilation

3
推荐指数
1
解决办法
2968
查看次数

如果我使用DOT和doxygen,如何通过graphviz更改我创建的图形的HTML中的位置?

我在doxygen中使用dot和Graphviz来创建HTML代码的用户手册.doxygen代码看起来有点像这样:

/**<br>
 *@addtogroup MainProgram 
 *     @dot
 *          digraph G { 
 *                      Main    [label = "Main()"];
 *                      START   [label = "Start"];
 *                      FINISH  [label = "Finish"];
 *
 *                      START -> Main;
 *                      Main  -> FINISH;
 *                    }
 *        
 *     @enddot
 */
Run Code Online (Sandbox Code Playgroud)

这当然会产生一幅美好的画面.不幸的是,图片没有按照我想要的方式显示在HTML页面中.它始终以页面为中心.我希望对齐位于页面的左侧.生成的HTML代码如下所示:

<div align="center">
<img src="inline_dotgraph_2.dot.gif" alt="inline_dotgraph_2.dot" border="0" usemap="#inline_dotgraph_2.dot.map">
<map name="inline_dotgraph_2.dot.map" id="inline_dotgraph_2.dot.map"></map>
</div>
Run Code Online (Sandbox Code Playgroud)

谁能帮我?这是一个doxygen问题或graphiz/dot问题.我似乎无法找到答案.

谢谢,

莫里斯

doxygen dot graphviz

3
推荐指数
1
解决办法
3674
查看次数

使用Doxygen在Mac OS X上创建PDF

我把头发拉过来 - 这可能是两秒钟的修复.

Doxygen创建了非常精彩的HTML文档.

它还将生成TeX输出,根据文档,可以使用make:make pdf在TeX输出文件夹中创建PDF .

它抱怨它丢失了pdflatex.

所以,我安装了MacTeX.

仍然没有运气,pdflatex我的机器上没有安装这样的二进制文件.

我尝试的每次谷歌搜索都会让我失去20年历史的网站,其中包含动画GIF背景,过时的信息,没有人告诉我如何在我的机器上安装pdflatex.

我在这里错过了什么?

编辑:我现在意识到我可以使用TeXShop打开refman.tex文件并自己创建PDF.但我仍然想知道我是否遗漏了pdflatex的内容 - 因为我仍然希望能够自动生成PDF.

pdf macos latex doxygen

3
推荐指数
1
解决办法
2015
查看次数

删除"由doxygen生成"和PDF中的时间戳

作为标题.我刚刚开始使用doxygen,在第一次测试运行中,我注意到创建的PDF已经"由doxygen 1.8.3.1创建",然后是首页上的日期和时间.

可以删除吗?或者甚至只是移动它,说到文档的末尾?

我已经注意到其他类似的问题,但仅针对HTML(或我没有生成的RTF)而不是PDF

doxygen

3
推荐指数
1
解决办法
7258
查看次数

Doxygen可以转义HTML标签吗?

我想在Doxygen注释中包含文字HTML元素。像这样:

/// This function skips all <li> elements
Run Code Online (Sandbox Code Playgroud)

如果我这样写,它将<li>被传递到HTML输出,这显然不是我想要的。

相反,我可以这样写:

/// This function skips all &lt;li&gt; elements
Run Code Online (Sandbox Code Playgroud)

在Doxygen生成的HTML中,这可以很好地工作,但是现在源代码本身中的注释非常难以辨认。

因此,看起来我必须在生成的文档或源代码的可读性之间进行选择。

确实是这种情况,还是有办法强迫Doxygen自动将其全部<blabla>转换成&lt;blabla&gt;

html doxygen

3
推荐指数
1
解决办法
1289
查看次数

如何记录makefile模板并包含*.mk文件接口?

我们有许多makefile模板,通过设置一些参数makefile变量来实现某些构建操作,并通过包含来应用makefile模板

GENERIC_PARAM1-y := paramA
GENERIC_PARAM2-y := paramB

include $(MAKE_TOOLS)/doaction.mk
Run Code Online (Sandbox Code Playgroud)

doaction.mkcontains 这样的文件生成模板来生成标准规则定义,这些定义仅在包含动作make步骤时应用.

现在我们想要*.mk使用Doxygen 来记录片段的这些接口

## @file
## @brief doaction.mk is purposed to ...
## 
## Some more detailed descriptions about rules applied ...
## @param GENERIC_PARAM1-y Parameter1 description ...
## @param GENERIC_PARAM2-y Parameter2 description ...
Run Code Online (Sandbox Code Playgroud)

有没有一种简单的方法可以使用任何有效的Doxygen语法/配置来实现这一目的?

documentation doxygen makefile

3
推荐指数
1
解决办法
1963
查看次数

如何使用Doxygen和HTML帮助编译器生成CHM?

短篇小说:我可以用Doxygen生成一个CHM文件.启动CHM文件,我发现内容和索引选项卡确实列出了这些类的页面,名称空间,类和成员.但是,单击"内容"和"索引"列表中的项目不会显示任何内容.

我在使用Windows 7 Professional SP1 64位的计算机上.

我使用Doxywizard在我的代码上运行Doxygen版本1.8.9.1.它正确生成HTML输出; 页面,命名空间,类和成员出现在文档中.

然后我进一步想要将HTML转换为压缩的HTML(CHM)文件.

htmlhelp.exe从Microsoft网站下载了Microsoft HTML Help Workshop版本1.31(即版本4.74.8703)(https://msdn.microsoft.com/en-us/library/windows/desktop/ms669985 ( v= vs.85 ) .aspx).我运行了安装程序.随着安装程序的进行,出现一条弹出消息:

此计算机已有更新版本的HTML帮助.

但是,安装成功完成.而且,该hhc.exe程序在那里我告诉它安装.

我现在指定这些相关的Doxygen设置:

  • 向导 - >输出:
    • 检查HTML
    • 选择"准备压缩HTML(.chm)"选项.
  • 专家 - > HTML:
    • GENERATE_HTMLHELP =是
    • CHM_FILE = Foo.chm
    • HHC_LOCATION = C:\ Program Files(x86)\ Microsoft\HTML Help Workshop\hhc.exe

当我再次运行Doxygen时,它报告错误:

error: failed to run html help compiler on index.hhp
Run Code Online (Sandbox Code Playgroud)

Foo.chm预期的位置生成的文件.但是,如上所述,它缺少很多内容.

我尝试hhc.exe在Doxygen生成的HHP文件上手动运行.它不表示任何错误.

C:\Program Files (x86)\Microsoft\HTML Help Workshop>hhc c:\test\html\index.hhp
Microsoft HTML Help Compiler 4.74.8702

Compiling c:\test\html\Foo.chm

Compile …
Run Code Online (Sandbox Code Playgroud)

c++ chm doxygen html-help-workshop doxygen-wizard

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

如何使预处理器宏贪婪?

我们有以下预处理器宏。它用于帮助Doxygen文档,因为Doxygen在使用C ++和某些模板typedef时遇到了麻烦:

#if defined(DOXYGEN_PROCESSING)
# define DOCUMENTED_TYPEDEF(x, y) class y : public x {};
#else
# define DOCUMENTED_TYPEDEF(x, y) typedef x y;
#endif
Run Code Online (Sandbox Code Playgroud)

如果X是非模板或只有一个模板参数,则效果很好。但是,如果X是具有多个参数的模板:

DOCUMENTED_TYPEDEF(Foo<R,S>,Bar);
Run Code Online (Sandbox Code Playgroud)

然后,由于将字符串拆分为Foo<RS>,Bar(并且不会生成文档),将导致编译错误。

如何使预处理器宏贪婪?

c++ macros doxygen greedy c-preprocessor

3
推荐指数
1
解决办法
286
查看次数