小故事:我可以用Doxygen生成一个CHM文件。启动CHM文件,我发现内容和索引选项卡确实列出了这些类的页面,名称空间,类和成员。但是,单击这些内容和索引列表中的项目不会显示任何内容。如何使用Doxygen和HTML帮助编译器生成CHM?
我在使用Windows 7 Professional SP1(64位)的计算机上。
我使用Doxywizard在我的代码上运行Doxygen版本1.8.9.1。它正确地生成HTML输出;页面,命名空间,类和成员出现在文档中。
然后我又想将HTML转换成压缩的HTML(CHM)文件。
我从Microsoft网站(https://msdn.microsoft.com/en-us/library/windows/desktop/ms669985(v=vs.85).aspx)下载了Microsoft HTML Help Workshop 1.31版(即htmlhelp.exe
版本4.74.8703)。我运行了安装程序。当安装程序正在进行时,出现弹出消息:
This computer already has a newer version of HTML Help.
但是,安装已成功完成。而且,hhc.exe
程序就在那里,我告诉它安装。
我现在指定这些相关Doxygen的设置:
- 向导 - >输出:
- HTML检查
- “压缩HTML(的.chm)准备” 选项被选中。
- 专家 - > HTML:
- GENERATE_HTMLHELP = YES
- CHM_FILE = Foo.chm
- HHC_LOCATION = C:\ Program Files文件(x86)的\微软\的HTML Help Workshop的\ hhc.exe
当我再次运行Doxygen的,它会报告错误:
error: failed to run html help compiler on index.hhp
在预期的位置生成Foo.chm
文件。但是,如上所述,它缺少很多内容。
我试着在Doxygen生成的HHP文件上手动运行hhc.exe
。它不表示任何错误。
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文件中?
我没有看到“阻止”按钮点击。但是,这让我想到了正确的道路。我已经简化了我的上述问题描述,说“Foo.chm”文件在'c:'驱动器上。但是,它实际上位于映射的网络驱动器上。当我将CHM文件复制到计算机上的物理驱动器时,显示的所有内容。问题解决了。谢谢。 –