简短的故事:我可以使用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设置:

  • 向导->输出:
  • 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文件在预期的位置生成。但是,如上所述,它缺少很多内容。

    我尝试在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文件。要查看这是否是您遇到的内容,请尝试以下操作:

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

  • (我尚未在本地生成的doxygen .chm文件中遇到此问题,但希望您的描述能解决您的问题。)

    关于c++ - 如何使用Doxygen和HTML帮助编译器生成CHM?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30629770/

    10-08 22:51