Doxygen和Sphinx(Breathe)用于文档编写。

7

我对doxygen和sphinx的使用都很陌生。我的要求是创建一个用C语言编写的文档。 我的想法是从doxygen中为每个文件生成xml文件,然后使用breathe作为sphinx的桥梁来创建html页面。 我成功地生成了xml文件,并且也能够获得html页面。 然而,我发现每个html文件都包含了所有文件内容,而不是每个html文件/目录。

ie. dir1 => file1.h and file1.c
    dir2 => file2.h and file2.c

输出:

file1.html => file1.xml & file2.xml
file2.html => file1.xml & file2.xml

期望输出
file1.html to contain file1.xml(both header the implementation)
file2.html for file2.xml

以下是设置信息: Doxyfile(doxygen)
GENERATE_XML = YES

conf.py(sphinx)

breathe_projects = { <dir1_name>: <xml_path>,
                    <dir2_name>: <xml_path> }

请问有人能帮我设置正确的配置以获得期望的输出吗?


我能够解决这个问题。根据上述需求,我为每个目录创建了一个doxygen配置文件,从而生成单独的索引和相应的XML文件。通过这种方法,我能够获得正确的HTML文件生成。 - user3841724
2
如果这种情况下将其放入“答案”中,那么这个问题就会被解决。 - Cheeseminer
1个回答

4
针对上述需求,应该为每个目录创建一个Doxyfile文件。 这将基于Doxyfile生成xml文件。
i.e. for the files
dir1 => file1.h and file1.c
dir2 => file2.h and file2.c

create
Doxyfile1 in dir1
Doxyfile2 in dir2

这将为每个目录生成单独的index.xml文件。
在Sphinx配置文件(conf.py)中,应提供指向xml文件的位置。
i.e. breathe_projects = { <dir1_name>: <dir1/xml_path>,
                          <dir2_name>: <dir2/xml_path> }

通过以上更改,生成了独立的html文件- file1.html(包含file1.h和file1.c)以及file2.html(包含file2.h和file2.c)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接