C++ 如何使用Doxygen和HTML帮助编译器生成CHM?
短篇小说:我可以用Doxygen生成CHM文件。启动CHM文件时,我注意到Contents和Index选项卡确实列出了页面、名称空间、类以及这些类的成员。但是,单击这些内容和索引列表中的项目不会显示任何内容 我在一台使用Windows 7 Professional SP1的64位计算机上 我使用Doxywizard在我的代码上运行Doxygen版本1.8.9.1。它正确地生成HTML输出;页面、名称空间、类和成员显示在文档中 然后,我想进一步将HTML转换为压缩HTML(CHM)文件 我从Microsoft网站()下载了Microsoft HTML帮助研讨会1.31版(即C++ 如何使用Doxygen和HTML帮助编译器生成CHM?,c++,doxygen,chm,doxygen-wizard,html-help-workshop,C++,Doxygen,Chm,Doxygen Wizard,Html Help Workshop,短篇小说:我可以用Doxygen生成CHM文件。启动CHM文件时,我注意到Contents和Index选项卡确实列出了页面、名称空间、类以及这些类的成员。但是,单击这些内容和索引列表中的项目不会显示任何内容 我在一台使用Windows 7 Professional SP1的64位计算机上 我使用Doxywizard在我的代码上运行Doxygen版本1.8.9.1。它正确地生成HTML输出;页面、名称空间、类和成员显示在文档中 然后,我想进一步将HTML转换为压缩HTML(CHM)文件 我从Mic
htmlhelp.exe
4.74.8703版)。我运行了安装程序。安装程序继续运行时,出现一条弹出消息:
此计算机已具有较新版本的HTML帮助
但是,安装已成功完成。而且,hhc.exe
程序就在我让它安装的地方
我现在指定这些相关的氧气设置:
- 向导-->输出:
- 检查HTML
- 选择“准备压缩HTML(.chm)”选项
- 专家-->HTML:
- 生成\u HTMLHELP=YES
- CHM_FILE=Foo.CHM
- HHC\u LOCATION=C:\Program Files(x86)\Microsoft\HTML帮助研讨会\HHC.exe
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文件中显示所有文档内容的其他方法吗?在您的DOXY文件中,将
hhc.exe的路径用双引号引起来,因为它包含空格
或者更好的是,不要使用带空格的路径。当我看到这个问题时(html存在,chm有内容,但内容不可见),这是因为windows安全已“阻止”chm文件。要查看这是否是您遇到的问题,请尝试以下操作:
在windows资源管理器中,右键单击生成的.chm文件并选择“属性”
在“常规”选项卡上,如果看到“取消阻止”按钮,请单击该按钮
关闭对话框并打开.chm文件李>
(我在本地生成的doxygen.chm文件中没有遇到此问题,但从您的描述中,我希望这可以解决您的问题。)基本问题是chm文件位于映射的网络驱动器上
当我将CHM文件复制到计算机上的物理驱动器时,所有内容都会显示。我没有看到要单击的“阻止”按钮。但是,这让我想到了正确的方向。我简化了上面的问题描述,说生成的Foo.chm
文件位于c:
驱动器上。但是,它实际上位于映射的网络驱动器上。当我将CHM文件复制到计算机上的物理驱动器时,所有内容都会显示出来。问题解决了。谢谢