Недавно мы добавили некоторый код для обозначения устаревшего кода во время компиляции с использованием MACROS.Теперь Doxygen не документирует устаревшие функции должным образом.
#if defined(__GNUC__)
#define DEPRECATED(func) func __attribute__((deprecated)) /**< mark a function as deprecated in gcc. */
#elif defined(_MSC_VER)
#define DEPRECATED(func) __declspec(deprecated) func /**< mark a function as deprecated in msvc. */
#endif
Обратите внимание, что это упрощенная версия макросов для этого поста, реальные макросы проверяют версию компилятора и т.д.функция устарела, поэтому выдается предупреждение компилятора.
/**
* myMethod() is deprecated.
*/
DEPRECATED(
/**
* @deprecated
* Description of deprecated function
*
* @param var this is a parameter
*
* @return this is returned
*/
int myMethod(int var)
);
Проблема в том, что Doxygen хочет показать документацию для DEPRECATED, а не для myMethod (int var).
Кто-нибудь знает, как заставить Doxygen документировать myMethod, а не макрос УСТАРЕЛО?