I have a C project I document with doxygen. The HTML-output looks ok. When I generate latex output everything seems to work fine at first, too. When I run the "make.bat" generated by doxygen (for compiling the latex output to pdf) I get the error mentioned in the title.
It always occurs when "Chapter 4" is being processed. Chapter 4 holds the data structure list. In the resulting pdf this chapter is empty. Obviously that's because this "annotated.tex" file is missing.
What went wrong here? Why is there no content being generated for this chapter? I don't even know where to start looking... Nothing in this regard struck my attention in the doxygen log.
Is there a way to control which chapters with what content doxygen generates for latex at all? Is it somehow connected to the DoxygenLayout.xml file?
Thanks in advance for any hints.
I use Doxygen version 1.8.9.1 for windows. I guess every C code that declares some sort of data structures can trigger this error. I used this for testing:
common.c:
/** @file
*
* Allgemeine Hilfsfunktionen, Implementierung.
* Siehe auch common.h
*
* @date Erstellt 08.10.2014 11:24:23
* @author Hans Wurst
*/
#include "common.h"
/// Array mit den Ziffern 0..F einer Hexadezimalzahl (ASCII).
const char hex_digits[16] PROGMEM = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
/// Versionsstring des Betriebssystems im Flash-Speicher.
const char mcu_version_str[5] PROGMEM = MCU_VERSION_STR;
/** Konvertiere vorzeichenlose 8Bit-Ganzzahl in 2 Zeichen String.
*
* String hat die Form "8F" (für n=8F). Kein abschließendes 0-Byte wird
* gesetzt.
*
* @param[in] n Vorzeichenlose 8Bit-Ganzzahl
* @param[out] dest Zeiger auf String, wo 2 Zeichen Hex-Zahl platziert werden
* soll.
*/
void to_hex_str(const uint8_t n, char *dest) {
// Code
}
common.h:
/** @file
* Allgemeine Hilfsfunktionen.
*
* Siehe auch common.c
*
* @date Erstellt 09.04.2014
* @author Hans Wurst
*/
/** @defgroup TEST_GRP
* Das ist einfach mal eine Testgruppe mit wenig Zeug...
*/
/// @{
#ifndef COMMON_H_
#define COMMON_H_
// **************** Definitionen ****************
/// Versionsstring des Betriebssystems
#define MCU_VERSION_STR "0.01"
/// 24Bit-Pointer-Typ
typedef uint8_t ptr24_t[3];
/// 32Bit dword-Typ mit verschiedenen Zugriffsmöglichkeiten.
union dword {
uint8_t byte[4];
uint16_t word[2];
uint32_t dword;
};
// Ende Definitionen
// **************** Variablendeklarationen ****************
#ifndef __DOXYGEN__
extern const char mcu_version_str[5];
extern const char hex_digits[16];
extern void to_hex_str(const uint8_t n, char *dest);
#endif
/// @}
#endif /* COMMON_H_ */
My doxyfile: http://pastebin.com/ZPqhsYSy It's mostly default stuff...