您好,我在使用 Doxygen 记录 C++ 类静态模板函数时遇到问题:
克拉兹.h:
#ifndef CLAZZ_H
#define CLAZZ_H
/*! \file clazz.h
* \brief Clazz declaration
* \author Me and myself
* \sa Clazz
*/
/*! \class Clazz
* \brief About class
*/
class Clazz
{
public:
/*! \fn TYPE func(TYPE value)
* \brief About static func
* \param value Parameter
* \returns Some value of \c TYPE
* \tparam TYPE Class type.
*/
template<typedef TYPE>
static TYPE func(TYPE value);
};
#endif
Run Code Online (Sandbox Code Playgroud)
克拉兹.cpp:
#include "clazz.h"
/*! \file clazz.cpp
* …Run Code Online (Sandbox Code Playgroud) 我有一个 C 头文件,其中声明了许多方法,所有这些方法都包含有效的 doxygen 标记来生成文档,但是 doxygen 无法为这些方法创建任何文档,除非我将其设置EXTRACT_ALL为 true,但即使在这种情况下,方法只出现在头文件的文档中...我想要一个集合点“函数”,其中包含方法列表,我可以在其中单击它们...这可能吗?(我的输出针对 C/PHP 进行了优化,但是将其设置为其他内容根本没有帮助)...
我将 amsmath 包含在我的 doxygen 中,我写道:
\f{equation}{
x=2
\f}
Run Code Online (Sandbox Code Playgroud)
但 doxygen 的结果是
\begin{equation} x=2 \end{equation}
Run Code Online (Sandbox Code Playgroud)
而不是方程
x=2
Run Code Online (Sandbox Code Playgroud)
有谁知道出了什么问题吗?
我在 C 头文件上使用 Doxygen,并且很难将描述文本中出现的 typedef 名称变成指向相应 typedef 定义的链接。这适用于结构,但不适用于 typedef。
例子:
struct _my_s1;
/** Description for typedef my_s1. */
typedef struct _my_s1 my_s1;
struct _my_s2;
/** Description for typedef my_s2. */
typedef struct _my_s2 my_s2;
/**
* @brief Structure _my_s1
*/
struct _my_s1 {
my_s2 * s2t; ///< pointer to my_s2
struct _my_s2 * s2s; ///< pointer to struct _my_s2
/**
* @brief Function f2t
* @param s2t A pointer to my_s2.
* @return An integer.
*/
int (*f2t)(my_s2* s2t);
/** …Run Code Online (Sandbox Code Playgroud) I\xe2\x80\x99m 使用 Doxygen 1.8.10(在 Windows 上)生成 LaTeX 文件,并使用 MiKTex 2.9 生成 PDF。PDF 很实用,但不是很漂亮。我\xe2\x80\x99已经弄清楚如何自定义标题页(我添加了图形和非默认文本)以及如何将图像放入PDF中。
\n\n但是...我如何更改 URL 颜色等样式(它们只是 Doxygen 注释中的文本,然后 Doxygen 将它们转换为 \\href 项)?
\n\n**** 我相信我需要更改 hyperref 包\xe2\x80\x99s 配置中的某些内容或 Doxygen 写入 .tex 文件的内容,但我\xe2\x80\x99m 不确定哪种方法是正确的,也不知道如何做其中之一...
\n\n我\xe2\x80\x99创建了一个custom_doxygen.sty文件,并将其分配给LATEX_EXTRA_STYLESHEET。我假设它\xe2\x80\x99s 被Doxygen 拾取,因为Doxygen 成功拾取了我的自定义LATEX_HEADER 文件,该文件与custom_doxygen.sty 文件位于同一目录中。但我不知道\xe2\x80\x99t 知道将什么内容放入 custom_doxygen.sty 文件中?
\n\n如果我以默认方式运行所有内容(即没有 LATEX_EXTRA_STYLESHEET),则以下代码将写入 refman.tex 文件:
\n\n% Hyperlinks (required, but should be loaded last)\n\\usepackage{ifpdf}\n\\ifpdf\n \\usepackage[pdftex,pagebackref=true]{hyperref}\n\\else\n \\usepackage[ps2pdf,pagebackref=true]{hyperref}\n\\fi\n\\hypersetup{%\n colorlinks=true,%\n linkcolor=blue,%\n citecolor=blue,%\n unicode%\n}\nRun Code Online (Sandbox Code Playgroud)\n\n我需要的是 \xe2\x80\x9curlcolor\xe2\x80\x9d 也为蓝色(它在 hyperref 包中的默认值是洋红色\xe2\x80\x94,这肯定是一个奇怪的选择)。
\n\n我尝试将 refman.tex 文件中的内容基本上复制到 custom_doxygen.sty 文件(并确保将 custom_doxygen.sty 文件分配给我的 …
我想将一些 UML 图添加到我的 *.dox 文档中,并满足以下要求:
我怎样才能实现这个目标?
我无法在 Doxygen 文档中包含任何文本文件。唯一的例外是README.md我设置为主页的文件。
特别是,我想Changelog.txt在文档中查看该文件。我试图在INPUT字段和字段中显式添加它FILE_PATTERNS,但没有成功。在生成的 HTML 文档中,我无法在文件列表中找到任何内容,也无法进行搜索。
唯一的跟踪位于 Doxygen 的日志文件中:
Preprocessing C:/Source/Changelog.txt...
Parsing file C:/Source/Changelog.txt...
...
Parsing code for file Changelog.txt...
Run Code Online (Sandbox Code Playgroud)
如果我将文件的扩展名从 更改为txt,md该文件将添加到文档中。
运行时doxygen我收到以下错误:
doxygen: error while loading shared libraries: libclang.so.6: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我已经在 Ubuntu 17 上安装doxygen使用。在我有但没有。sudo apt install doxygen/usr/lib/x86_64-linux-gnulibclang-4.0.so.1libclang-5.0.so.1libclang.so.6
我尝试过重新安装 doxygen,但没有帮助。
我还尝试创建一个调用libclang.so.6现有文件的符号链接,libclang-5.0.so.1如下所示,但它会导致此错误:
doxygen: /usr/lib/x86_64-linux-gnu/libclang.so.6: version `LLVM_6.0' not found (required by doxygen)
Run Code Online (Sandbox Code Playgroud)
如何解决此错误并使 doxygen 正常工作?
在没有扩展名的 VSCode 中,C 文件的颜色如下:
红色方块是我遇到问题的地方。我发现使用与源代码相同的颜色进行注释会分散注意力。我想找到一种方法来禁用 doxygen 高光,或者至少减弱其颜色以减少其视觉影响。
为了抑制它,我一直在使用editor.tokenColorCustomizations属性(如Microsoft在此记录)来更改其颜色,但我无法定位正确的组。
对我来说更好的解决方案是禁用所有 Doxygen 突出显示。无论如何,我们将不胜感激帮助!