С выходом Doxygen chmcmd выдает поддельные сообщения об ошибках.

Я создаю документацию .chm из файлов Doxygen, используя chmcmd. Последний представляет мне (поддельные) сообщения об ошибках, например

Ошибка: Anchor [HTML-страница, сгенерированная из файла, содержащего @page]#[@section или @subsection с меткой, все в одном файле] undefined; сначала используйте [HTML-страницу, сгенерированную из файла, содержащего @page]

В файле HTML я вижу строки

<li><a class="el" href="User_Guide.html#USER_GUIDE_SETUP_AND_DATA_FLOWS">SETUP AND DATA FLOWS</a><ol type="a">

а также

<h1><a class="anchor" id="USER_GUIDE_SETUP_AND_DATA_FLOWS"></a>
SETUP AND DATA FLOWS</h1>

что, на мой взгляд, должно быть нормально. Сообщение об ошибке является поддельным, потому что и файлы .html, и файлы .chm работают нормально. Вроде бы безобидно, но шумит прилично, и боюсь, какие-то настоящие ошибки пропущу.

Могу ли я сделать что-то против?


person katang    schedule 06.11.2016    source источник


Ответы (2)


Это не похоже на ошибку chmcmd. "@page" или "@section" не имеют значения для chmcmd. Chmcmd не генерирует справку, он просто компилируется, так что с этой точки зрения сообщение тоже нелогично.

На всякий случай, я проверил источник, чтобы быть уверенным, и нет хитов.

Так что, вероятно, это не chmcmd, а ошибка, вероятно, исходит от модуля вывода doxygen html-for-chm.

person Marco van de Voort    schedule 06.11.2016

Специальные символы вызывают проблемы с компилятором справки HTML (см. прилагаемые ссылки). Я знаю, что это не проблема, которую вы описали. Я не использую ChmCmd, поэтому, к сожалению, не могу воспроизвести ваше сообщение об ошибке.

Но следующая ветка на форумах справки и руководств, похоже, дает некоторую информацию Ссылка на якоря в темах chm из C#. Пожалуйста, найдите:

Дополнение от Тима Грина: Обратите внимание, что если рассматриваемая тема является первой темой в CHM, это известная ошибка в системе CHM, и ее нельзя избежать. Он просто не синхронизируется с темой, если сам по себе, а не в главе. Это всегда было проблемой в CHM, и Microsoft никогда не исправляла ее. Синхронизация оглавления с темами в CHM также не контролируется Help & Manual; он полностью контролируется программой просмотра Microsoft.

Итак, я думаю, что "... первое использование..." в вашем сообщении об ошибке связано с проблемой, упомянутой в этой теме.

Некоторая дополнительная информация с нашего сайта HelpwareGroup по адресу:

Сбой компилятора CHM во время компиляции

HTMLHelp CHM Часто задаваемые вопросы

Кстати, разработчики C# могут обнаружить, что их документация и электронные книги в формате CHM не могут быть открыты, потому что они хранят свои файлы CHM в таких каталогах, как «C:\E-books\C#\». Символ решетки означает привязку в HTML, поэтому средство просмотра CHM не может правильно разрешить путь и получить содержимое. Чтобы решить эту проблему, удалите символ «#» (решетка) из имени каталога. Также избегайте использования символов «?», «&» и «+» в именах каталогов.

person help-info.de    schedule 06.11.2016
comment
Спасибо за ответ, я документирую C++ и использую вывод Doxygen без редактирования. В линиях, которые я показываю в своем посте, две линии кажутся мне идеальными. Согласно продолжению, похоже, что chmcmd тоже отлично реализует систему chm :). - person katang; 06.11.2016
comment
@katang Да, якорные ссылки HTML чисты и подходят для CHM. - person help-info.de; 06.11.2016