让doxygen知道cpp中的命名空间
Having doxygen aware of namespace in cpp
我们有一个c++项目,我们使用doxygen对其进行文档记录,只在类的头中放入doxygen注释,我们在cpp中对静态函数进行文档记录。
我们的doxygen配置文件获取项目中的任何头/hpp(/eimplementation/cpp(文件。此外,我们有相当多的独立组件(和外部组件(,我们在名称空间中隔离这些组件。
该项目是以我们使用多态性的方式完成的(由于广泛使用代理模式(
由于这是一种常见的做法,我们禁止在头中使用指令,并在实现文件中使用它。
通常,我们在标题中有:
/**
* @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意识到"使用"指令吗?
编辑
- 坏消息,似乎在bug跟踪器上打开:https://bugzilla.gnome.org/show_bug.cgi?id=617285,https://bugzilla.gnome.org/show_bug.cgi?id=154880:看起来我在寻找一个变通方法,而不是一个干净的解决方案
没有找到解决方法,我们在实现中恢复使用完整的命名空间,以与标头定义完全匹配。标记为关闭,我的损失:-(看到问题中的评论/编辑可能会帮助读者
相关文章:
- 命名空间中具有.h和.cpp文件的类
- 从父命名空间重载类型
- 在命名空间中定义函数还是限定函数
- C++:对不存在的命名空间使用命名空间指令
- 通过继承类使用来自不同命名空间的运算符
- 使用命名空间时出现多个定义错误
- 使用命名空间在另一个".cpp"文件中定义
- 是否将命名空间范围文件本地 (.cpp) 常量放在匿名命名空间中
- 在多个 cpp 文件中重用未命名的命名空间函数
- C++:.cpp中"Redeclare"外部命名空间变量
- cpp:关于未定义引用"(匿名命名空间)::CPassant::NbCPassant"的说明
- 有没有办法在单独的 .h 和 .cpp 文件中定义在命名空间中声明的函数
- 匿名命名空间,用于在两个 cpp 文件中包含一个函数
- 来自单独.cpp文件中同一命名空间的 free 函数,C++ 中无法识别
- 在 cpp 文件中命名空间范围内"Private"变量
- 在 CPP 文件中使用命名空间作为函数定义的前缀是否是一种好的做法
- 在cpp文件的命名空间中定义常量
- 让doxygen知道cpp中的命名空间
- When是初始化命名空间的cpp文件中声明的静态字符串
- 如何访问在命名空间中声明到另一个 cpp 文件中的变量