如果您的專案依賴外部函式庫或工具,有幾個原因不應在每次執行 Doxygen 時都包含這些外部來源的所有程式碼:
如果外部套件及其文件是由其他人擁有版權,那麼最好 - 甚至必要 - 參考它,而不是在您專案的文件中包含它的副本。 當作者禁止重新發布時,這是必要的。 如果作者要求遵守某些許可條款作為重新發布的先決條件,而您不想受這些條件約束,那麼參考他們的副本文件會比包含副本更好。
如果以上任何一種情況適用,您可以使用 Doxygen 的標籤檔案機制。 標籤檔案基本上是外部原始碼中找到的實體的精簡表示。 Doxygen 可以產生和讀取標籤檔案。
若要為您的專案產生標籤檔案,只需將標籤檔案的名稱放在組態檔案中的 GENERATE_TAGFILE 選項之後即可。
若要將一個或多個外部專案的輸出與您自己的專案結合,您應該在組態檔案中的 TAGFILES 選項之後指定標籤檔案的名稱。
標籤檔案通常只包含從 Doxygen 執行點開始的文件相對位置。 因此,當您在其他專案中包含標籤檔案時,您必須指定外部文件相對於此專案的位置。 您可以在組態檔案中,將(相對)位置指定給在 TAGFILES 組態選項之後指定的標籤檔案。 如果您使用相對路徑,它應該是相對於您專案的 HTML 輸出產生的目錄;因此是從一個專案的 HTML 輸出目錄到另一個連結到的專案的 HTML 輸出的相對路徑。
proj
,它使用了兩個名為 ext1
和 ext2
的外部專案。 目錄結構如下所示<root> +- proj | +- html HTML output directory for proj | +- src sources for proj | |- proj.cpp +- ext1 | +- html HTML output directory for ext1 | |- ext1.tag tag file for ext1 +- ext2 | +- html HTML output directory for ext2 | |- ext2.tag tag file for ext2 |- proj.cfg Doxygen configuration file for proj |- ext1.cfg Doxygen configuration file for ext1 |- ext2.cfg Doxygen configuration file for ext2
OUTPUT_DIRECTORY = proj INPUT = proj/src TAGFILES = ext1/ext1.tag=../../ext1/html \ ext2/ext2.tag=../../ext2/htmlext1.cfg
OUTPUT_DIRECTORY = ext1 GENERATE_TAGFILE = ext1/ext1.tagext2.cfg
OUTPUT_DIRECTORY = ext2 GENERATE_TAGFILE = ext2/ext2.tag