我们有一个C++项目,使用Doxygen进行文档编写。我们只在类的头文件中放置Doxygen注释,并在.cpp文件中记录静态函数。
我们的Doxygen配置文件检索项目中的任何头文件(.hpp)/实现(.cpp)文件。此外,我们有许多独立组件(和外部文件),我们将其隔离在命名空间中。
由于广泛使用代理模式,该项目采用多态的方式完成。
作为一种常见做法,我们不允许在头文件中使用using指令,而是在实现文件中使用它。
通常,我们的头文件包含以下内容:
当运行doxygen时,它似乎很混乱并产生错误消息:
有什么办法可以消除这些错误并使Doxygen意识到"using"指令吗?
编辑:
坏消息是,在错误跟踪器上打开了此问题:https://bugzilla.gnome.org/show_bug.cgi?id=617285,https://bugzilla.gnome.org/show_bug.cgi?id=154880:看起来我正在寻找一个变通方法而不是一个干净的解决方案。
我们的Doxygen配置文件检索项目中的任何头文件(.hpp)/实现(.cpp)文件。此外,我们有许多独立组件(和外部文件),我们将其隔离在命名空间中。
由于广泛使用代理模式,该项目采用多态的方式完成。
作为一种常见做法,我们不允许在头文件中使用using指令,而是在实现文件中使用它。
通常,我们的头文件包含以下内容:
/**
* @brief
* test from A
*/
void f(N1::N2::A);
/**
* @brief
* test from A
*/
void f(N1::N2::B);
在实现中,我们有
using namespace N1::N2;
void f(A) { }
void f(B) { }
当运行doxygen时,它似乎很混乱并产生错误消息:
warning: no uniquely matching class member found for f(A)
possible candidates:
void f(N1::N2::A)
void f(N1::N2::B)
有什么办法可以消除这些错误并使Doxygen意识到"using"指令吗?
编辑:
坏消息是,在错误跟踪器上打开了此问题:https://bugzilla.gnome.org/show_bug.cgi?id=617285,https://bugzilla.gnome.org/show_bug.cgi?id=154880:看起来我正在寻找一个变通方法而不是一个干净的解决方案。