Рассказ: Я могу создать файл CHM с помощью Doxygen. Запуская файл CHM, я замечаю, что на вкладках «Содержание» и «Указатель» перечислены страницы, пространства имен, классы и члены этих классов. Однако при щелчке по элементам в этих списках содержимого и указателя контент не отображается.
Я на компьютере с Windows 7 Professional SP1, 64-разрядная версия.
Я использую Doxywizard для запуска Doxygen версии 1.8.9.1 в моем коде. Он правильно генерирует вывод HTML; страницы, пространства имен, классы и члены отображаются в документации.
Затем я хочу преобразовать HTML-файл в сжатый HTML-файл (CHM).
Я скачал Microsoft HTML Help Workshop версии 1.31 (т.е. htmlhelp.exe
версия 4.74.8703) с веб-сайта Microsoft ( https://msdn.microsoft.com/en-us/library/windows/desktop/ms669985(v=vs.85).aspx ). Я запустил установщик. Когда установщик продолжал работу, появилось всплывающее сообщение:
На этом компьютере уже установлена более новая версия справки HTML.
Однако установка успешно завершена. И, hhc.exe
Программа там, где я сказал, чтобы установить.
Теперь я укажу эти соответствующие настройки Doxygen:
Когда я снова запускаю Doxygen, он сообщает об ошибке:
error: failed to run html help compiler on index.hhp
Foo.chm
файл генерируется там, где ожидается. Но, как описано выше, в нем отсутствует много контента.
Я пробовал бегать hhc.exe
вручную на файл HHP, сгенерированный Doxygen. Это не указывает на какие-либо ошибки.
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?
Когда я видел эту проблему (html существует, и chm имеет контент, но этот контент не виден), это произошло потому, что безопасность Windows «заблокировала» файл chm. Чтобы убедиться, что это то, с чем вы столкнулись, попробуйте следующее:
(Я не сталкивался с этой проблемой с локально сгенерированными файлами doxygen .chm, но я надеюсь, что из вашего описания это может решить вашу проблему.)
В вашем докси-файле укажите путь к hhc.exe
в двойных кавычках, так как содержит пробелы.
Или, что еще лучше, не используйте пути с пробелами.
Существенной проблемой было то, что файл CHM находился на подключенном сетевом диске.
Когда я скопировал файл CHM на физический диск на моем компьютере, все содержимое отображается.