У меня проблема с доксигеном. Не все мои \ todo собраны в глобальном списке задач, но большинство из них. Я сделал простой C-пример с одним исходным файлом и файлом заголовка, а также файлом конфигурации, куда я поместил задачи везде, где я хочу, чтобы doxygen собирал их в глобальный список задач.
Моя глобальная задачаВ списке отсутствуют показанные в приведенном ниже фрагменте кода задачи, то есть те, которые находятся внутри тела моей общедоступной функции (test_todo12 в myFunc), а также те, которые находятся в файле cfg (test_todo16 и test_todo17), оба реализованы, как показано ниже.
test.h:
/**
* Definition of test structure.
*/
typedef struct def_struct_
{
int32_t first; /**< First element.*/
int32_t second; /**< Second element. */
int32_t third; /**< third element. */
} def_struct_t;
/**************************************************************************************************/
/**
* \brief My func description.
*
* \param[ in ] test_param Input parameter to myFunc.
*
* \return bool
* \retval false false on non success.
* \retval true true on success.
*
**************************************************************************************************/
bool myFunc( uint32_t test_param );
test.c:
#include <stdint.h>
#include <stdbool.h>
#include "test.h"
#include "test.cfg"
bool myFunc( uint32_t test_param )
{
uint32_t testVar = test_param ;
//! This function does nothing. \todo test_todo12
testVar++;
return true;
}
test.cfg:
/** test cfg
* \todo test_todo16
*/
static def_struct_t test_cfg[2] =
{
.first = 123 //! \todo test_todo17
}
Я использую версию Doxygen1.8.14
Различия в моем файле конфигурации doxygen по сравнению с настройками по умолчанию заключаются в следующем (после попытки различных комбинаций):
OPTIMIZE_OUTPUT_FOR_C = YES
TOC_INCLUDE_HEADINGS = 1
TYPEDEF_HIDES_STRUCT = YES
EXTRACT_PRIVATE = YES
EXTRACT_STATIC = YES
INTERNAL_DOCS = YES
HIDE_SCOPE_NAMES = YES
WARN_NO_PARAMDOC = YES
RECURSIVE = YES
EXCLUDE_PATTERNS = */README.md
EXAMPLE_RECURSIVE = YES
SOURCE_BROWSER = YES
GENERATE_TREEVIEW = YES
USE_MATHJAX = YES
GENERATE_LATEX = NO
CLASS_DIAGRAMS = NO
HAVE_DOT = YES
UML_LOOK = YES
DOT_PATH = "C:\Program Files (x86)\Graphviz2.38\lib\release\lib"
DOTFILE_DIRS = "C:\Program Files (x86)\Graphviz2.38\lib\release\lib" \ "C:\Program Files (x86)\Graphviz2.38\bin"
PLANTUML_JAR_PATH = C:\tools\plantUML
and added *.cfg \ to FILE_PATTERNS
Ссылка на полный скомпилированный код и doxygenконфигурация (минимальный пример для показа этой проблемы): Ссылка на код
Когда я перехожу к публичной функции "myFunc", я вижу задачу, она просто отсутствует в глобальном списке задач.
Кажется, что файл cfg вообще не включен в документацию по doxygen, даже если он включен в файл C, и, таким образом, его следует рассматривать как часть этого файла? Или действительно необходимо сделать что-то дополнительное / специальное для включения этих файлов cfg? Если так, кто-то знает, что мне не хватает?
Я надеюсь, что кто-то может помочь мне решить мою проблему, может быть, задача в теле публичной функции - это даже ошибка?
С уважением, Джеспер