admin管理员组文章数量:1355996
Here is a github repository with a minimal reproduction of my problem:
The source code is two files. A.cpp:
#include <stdint.h>
class A
{
public:
/// comment
void a_public_function();
#define TYPE_MACRO(type) virtual type get_##type() const {return 42;}
#include "all_types.h"
};
int main()
{
A a;
return a.get_int32_t();
}
all_types.h:
#ifndef TYPE_MACRO
#define TYPE_MACRO(x)
#endif
TYPE_MACRO(int8_t)
TYPE_MACRO(int16_t)
TYPE_MACRO(int32_t)
TYPE_MACRO(int64_t)
TYPE_MACRO(float)
#undef TYPE_MACRO
I enabled MACRO_EXPANSION
in the Doxyfile, but it does not help. Whatever setting I use, member functions declared via this include do not appear in the documentation. Is there a way to solve this problem?
This question was marked as duplicate of X-macro breaks doxygen callgraph
But it is not exactly the same problem, and the answers there do not work. I tried adding TYPE_MACRO
to EXPAND_AS_DEFINED
and/or change EXPAND_ONLY_PREDEF
, but it did not work. Setting SKIP_FUNCTION_MACROS
to NO also does not work.
本文标签: cHow can I get doxygen to see a member function declared via macroincludeStack Overflow
版权声明:本文标题:c++ - How can I get doxygen to see a member function declared via macro+include? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1743940912a2565544.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论