小故事:我可以用 Doxygen 生成一个 CHM 文件。启动 CHM 文件,我观察到 Contents 和 Index 选项卡确实列出了页面、名称空间、类和这些类的成员。但是,单击这些目录和索引列表中的项目不会显示任何内容。
我在使用 64 位 Windows 7 Professional SP1 的计算机上。
我使用 Doxywizard 在我的代码上运行 Doxygen 版本 1.8.9.1。它正确地生成 HTML 输出;页面、命名空间、类和成员出现在文档中。
然后,我还想将 HTML 转换为压缩的 HTML (CHM) 文件。
我从 Microsoft 网站 ( https://msdn.microsoft.com/en-us/library/windows/desktop/ms669985(v=vs.85)下载了 Microsoft HTML Help Workshop 1.31 版(即htmlhelp.exe
4.74.8703 版) .aspx)。我运行了安装程序。随着安装程序的进行,出现了一条弹出消息:
这台计算机已经有较新版本的 HTML 帮助。
但是,安装成功完成。而且,该hhc.exe
程序就在我告诉它安装的地方。
我现在指定这些相关的 Doxygen 设置:
- 向导 --> 输出:
- 已检查 HTML
- “准备压缩 HTML (.chm)”选项被选中。
- 专家 --> HTML:
- GENERATE_HTMLHELP = 是
- CHM_FILE = Foo.chm
- HHC_LOCATION = C:\Program Files(x86)\Microsoft\HTML Help Workshop\hhc.exe
当我再次运行 Doxygen 时,它会报告错误:
error: failed to run html help compiler on index.hhp
该Foo.chm
文件在预期的位置生成。但是,如上所述,它缺少很多内容。
我尝试hhc.exe
在 Doxygen 生成的 HHP 文件上手动运行。它不表示任何错误。
C:\Program Files (x86)\Microsoft\HTML Help Workshop>hhc c:\test\html\index.hhp
Microsoft HTML Help Compiler 4.74.8702
Compiling c:\test\html\Foo.chm
Compile time: 0 minutes, 3 seconds
292 Topics
3,855 Local links
83 Internet links
0 Graphics
Created c:\test\html\Foo.chm, 259,580 bytes
Compression decreased file by 1,077,915 bytes.
但是,结果是一样的:一个Foo.chm
缺少内容的文件。
后来我发现我的计算机上安装了另一个 HTML Help Workshop。但是,这hhc.exe
是完全相同的版本。所以,这不太可能是问题所在。
您能否建议我还能尝试让所有文档内容显示在 CHM 文件中吗?