简短的故事:我可以使用Doxygen生成CHM文件。启动CHM文件,我观察到Contents和Index选项卡确实列出了页面, namespace ,类以及这些类的成员。但是,单击那些“内容和索引”列表中的项目不会显示任何内容。
我在使用Windows 7 Professional SP1(64位)的计算机上。
我使用Doxywizard在我的代码上运行Doxygen版本1.8.9.1。正确生成HTML输出;页面, namespace ,类和成员将显示在文档中。
然后,我进一步想将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)。我运行了安装程序。在安装程序进行过程中,出现一条弹出消息:
但是,安装成功完成。而且,hhc.exe
程序就在我告诉它安装的位置。
现在,我指定这些相关的Doxygen设置:
当我再次运行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帮助研讨会。但是,
hhc.exe
是完全相同的版本。因此,这不太可能是问题所在。您能否提出我可以尝试将所有文档内容显示在CHM文件中的其他建议?
最佳答案
当我看到此问题(html存在且chm包含内容但该内容不可见)时,这是因为Windows安全性已“阻止”了chm文件。要查看这是否是您遇到的内容,请尝试以下操作:
(我尚未在本地生成的doxygen .chm文件中遇到此问题,但希望您的描述能解决您的问题。)
关于c++ - 如何使用Doxygen和HTML帮助编译器生成CHM?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30629770/