2010-11-29 60 views
2

我有两个C++项目A和B;依赖关系是唯一的B到A如何交叉引用已经存在的doxygen文档?

B --> A 

我想在A和B分别运行Doxygen的分别,但还是让我从(DOC)B就可能的交叉引用。 (也就是说,当我浏览B文档时,如果B中使用A的任何类,我可以直接链接到A文档)。

-

[从0x4b作答的答案:] 如果我设置“CREATE_SUBDIRS”用YES和使用标记文件的相对路径,使用Doxygen会以某种方式做出错误的链接引用。

我确实按照这个例子。

<root> 
    +- proj 
    | +- html    HTML output directory for proj 
    |  +- d1 
    |  | +- d2 
    |  |  .... (*.html) 
    |  | 
    |   ...(*.html) 
    | +- src    sources for proj 
    +- ext1 
    | +- html    HTML output directory for ext1 
    | |- ext1.tag   tag file for ext1 
    |- proj.cfg    doxygen configuration file for proj 
    |- ext1.cfg    doxygen configuration file for ext1 

proj.cfg: 
OUTPUT_DIRECTORY = proj 
INPUT    = proj/src 
TAGFILES   = ext1/ext1.tag=../../ext1/html 

ext1.cfg: 
OUTPUT_DIRECTORY = ext1 
GENERATE_TAGFILE = ext1/ext1.tag 

下都html/html/d1/d2的文件想尝试连接位于../../ext1/html外部文档。显然他们中的一个会失败。

回答

3

您可能要使用tagfile feature。在为A生成文档时,确保已设置GENERATE_TAGFILE选项。当您生成B中的文档,设置标签文件的价值,包括从A

结果[更新以解决相对路径]

Doxygen的是相当脆弱的,当涉及到[相关]路径。你清楚地明白,使用绝对路径可以解决问题。您可以尝试从环境中获取价值,例如使用

TAGFILES   = ext1/ext1.tag=$(PWD)/../ext1/html 

创建绝对路径。这并不理想,但Doxyfile中的很多值取决于doxygen的运行位置,而不是配置文件的位置。

+0

在原帖子中回复。 – elgcom 2010-11-30 10:25:03