如何使用Doxygen和HTML帮助编译器生成CHM?

Mik*_*nch 3 c++ chm doxygen html-help-workshop doxygen-wizard

短篇小说:我可以用Doxygen生成一个CHM文件.启动CHM文件,我发现内容和索引选项卡确实列出了这些类的页面,名称空间,类和成员.但是,单击"内容"和"索引"列表中的项目不会显示任何内容.

我在使用Windows 7 Professional SP1 64位的计算机上.

我使用Doxywizard在我的代码上运行Doxygen版本1.8.9.1.它正确生成HTML输出; 页面,命名空间,类和成员出现在文档中.

然后我进一步想要将HTML转换为压缩的HTML(CHM)文件.

htmlhelp.exe从Microsoft网站下载了Microsoft HTML Help Workshop版本1.31(即版本4.74.8703)(https://msdn.microsoft.com/en-us/library/windows/desktop/ms669985 ( v= vs.85 ) .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
Run Code Online (Sandbox Code Playgroud)

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.
Run Code Online (Sandbox Code Playgroud)

但是,结果是相同的:Foo.chm缺少内容的文件.

后来我发现我的计算机上又安装了HTML Help Workshop.但是,这hhc.exe是完全相同的版本.所以,这不太可能是问题所在.

您能否建议我还可以尝试将所有文​​档内容显示在CHM文件中?

Phi*_*hil 6

当我看到这个问题(html存在且chm有内容但内容不可见)时,原因是Windows安全已"阻止"chm文件.要查看这是否是您遇到的问题,请尝试以下操作:

  1. 从Windows资源管理器中,右键单击生成的.chm文件并选择属性.
  2. 在"常规"选项卡上,如果看到"取消阻止"按钮,请单击它.
  3. 关闭对话框并打开.chm文件.

(我没有遇到本地生成的doxygen .chm文件的问题,但我希望你的描述可以解决你的问题.)


Mik*_*nch 5

根本问题是 CHM 文件位于映射的网络驱动器上。

当我将 CHM 文件复制到计算机上的物理驱动器时,会显示所有内容。