katang katang - 29 days ago 13
HTML Question

With Doxygen output chmcmd produces fake error messages

I am creating a .chm documentation, from Doxygen files, using chmcmd.
The latter presents me with (fake) error messages, like


Error: Anchor [HTML page, generated from a file containing @page]#[a @section or @subsection with label, all in the same file] undefined; first use [HTML page, generated from a file containing @page]


In the HTML file, I see lines

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


and

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


which, in my opinion, should be OK. The error message is fake, because
both the .html files and .chm file work OK. It seems to be harmless, but produces considerable noise, and I am afraid, I will miss some real errors.

Can I do something against?

Answer

Special characters make problems with the HTML Help compiler (see the attached links). I know this isn't the problem you described. I don't use ChmCmd so I unfortunately cannot reproduce your error message.

But, following thread from Help & manual Forums seems to give some information Linking to anchors in chm topics from C#. Please search for:

Follow-up by Tim Green: Note that if the topic in question is the first topic in the CHM that's a known bug in the CHM system and unavoidable. It just doesn't synchronize with the topic if its on its own and not in a chapter. That's always been an issue in CHM and Microsoft has never corrected it. The synchronization of the TOC with the topics in CHM is also beyond Help & Manual's control; it's entirely controlled by Microsoft's viewer.

So, I think "... first use ..." in your error message is related to the issue meant in this thread.

Some further information from our HelpwareGroup site at:

CHM Compiler crashed during compilation

HTMLHelp CHM Frequently Asked Questions

BTW, C# developers may discover that their documentation and e-books in CHM format cannot be opened because they store their CHM files in directories such as 'C:\E-books\C#\'. The hash character signifies an anchor in HTML so the CHM viewer fails to resolve the path properly and to retrieve the content. To resolve, remove the '#' (hash) character from the directory name. Also avoid using '?', '&', and '+' characters in directory names.

Comments