背景
在查找 ffmpeg 文檔的時候,發現其文檔是根據 Doxygen 生成的。
為了學習方便,這里以 生成 ffmpeg 4.1 文檔 為例。
注:為了兼顧 arm 與 host ,本人選擇了同時都支持的 ffmpegv.4.0.1。此后的學習都以此為版本。
Doxygen簡介
Doxygen是一個程序的文檔產生工具,可以將程序中的注釋轉換成說明文檔或者說是API參考手冊,從而減少程序員整理文檔的時間。當然這里程序中的注釋需要遵循一定的規則書寫,才能讓Doxygen識別和轉化。
目前Doxygen可處理的程序語言包含C/C++、Java、Objective-C、IDL等,可產生出來的文檔格式有HTML、XML、LaTeX、RTF等,此外還可衍生出不少其它格式,如HTML可以打包成CHM格式,而LaTeX可以通過一些工具產生出PS或是PDF文檔等。
Doxygen 安裝及使用
下面以 Windwos 的安裝(除了需要設置環境變量以外,無需特別設置)與使用為例
安裝列表:
Doxygen: 下載地址,http://doxygen.nl/files/doxygen-1.8.17-setup.exe
HTML Help:微軟官方用於生成HTML格式的help文件,下載地址,http://go.microsoft.com/fwlink/p/?linkid=14188
Graphviz:一種dot工具可以用來渲染出效果更好的圖表,下載地址,https://graphviz.gitlab.io/_pages/Download/windows/graphviz-2.38.msi
安裝完成以后,將 dot.exe 所在目錄(例如:"C:\Program Files (x86)\Graphviz2.38\bin")加入系統環境變量中。
基於 Doxygen 的設置
Doxygen 有命令行(CMD tool)工具以及界面化(GUI)工具2種。Windows 下常用 界面 設置。
打開 Doxywizard (Doxygen GUI fronted)
根據實際情況填寫以下位置,點擊next。
注意,文件路徑不要有中文路徑,在C盤運行程序的時候,需要有執行權限。
要勾選Scan recursively
Mode 設置模式
在Select the desired extraction mode
:
- 選擇
All Entities
- 勾選
Include cross-referenced source code in the ouput
在Select programing languge the optimize the results for :
根據實際項目的需要選擇對應的語言
選擇:Optimize for C or PHP output
點擊next
。
Oputput 設置輸出
在Select the output format(s) to generate
- 勾選
HTML
- 選擇:
prepare for compressed HTML(.chm)
不勾選 Latex
這里不打算使用 LaTex 工具進行輸出 有關文檔。
點擊next
。
Diagrams 設置圖例
在Diagrams to generate
:
選擇 Use built-in class diagram generator
勾選Dot graphs to generate
下所有項目
點擊next
。
Run doxygen
經過上一步以后,此時應該是跳轉到了Expert
選項卡,不理它,選擇Run
選項卡。
Expert
選項卡可以實現更加細致的參數設置,一般用在支持中文編碼等方面上。
點擊 Run doxygen
,經過漫長的編譯,生成文件在工程 doc/html/xxx.chm (xx 代表項目名稱)
也可以點擊 Show HTML output
查看生成的本地文檔