为什么将枚举标记为导出/导入会中断氧气生成
Why does marking an enum as exported/imported break Doxygen generation?
使用Doxygen,我偶然发现了这个警告:
D:/<some/path>/Camera.h:20: warning: documented symbol `enum DLLPORT
ct::CameraCapture::ct::CameraCapture::CamType' was not declared or defined.
现在我知道为什么 Doxygen 找不到那个类了(命名空间显然是重复的),我不明白的是为什么它甚至要搜索它。这个枚举位于头文件中,直接在类定义上方,并且发现该类很好,它也不会生成那些双命名空间。源代码也可以编译,所以可能不是导致Doxygen这些问题的语法错误。具体来说,源代码如下所示:
#ifdef CT_EXPORTS
#define DLLPORT __declspec(dllexport)
#else
#define DLLPORT __declspec(dllimport)
#endif
#include <somelibrary>
namespace ct {
namespace CameraCapture {
/**The type of camera used:
*[...]
**/
enum DLLPORT CamType {
CT_ENUM1=0,
CT_ENUM2,
CT_ENUM3,
CT_NONE
};
/**brief A parent-class to cameras of all types.
*[...]
**/
class DLLPORT Camera
{
//...some content...
};
}
}
其他enum
块也会出现同样的问题。希望你们中的一些人知道那里发生了什么。
干杯
你不需要 dllexport 或 dllimport 枚举。它们只是一种类型的声明,而不是代码的声明。只需使用enum CamType
.类(无论是 en'masse 还是 by-member)都需要它,单个自由函数也需要它,但简单的枚举不需要。
相关文章:
- 尝试导入pybind-opencv模块时出现libgtk错误
- 导入库可以跨dll版本工作吗
- 建议在运行时将带有类实例的列表从c++导入qml
- 导入/导出变量时出错
- 为什么导入Mixed native/CLR lib.dll的本机C++应用程序没有在Mixed lib.dll中的外部变
- 类成员和中断
- 捕获标准输出以压缩并使用 CTRL-C 中断会给出损坏的 zip 文件
- 将QT项目导入Visual Studio 2019会给我带来很多LNK2001错误
- 是否可以将函数导入命名空间,但不能导出它?
- 如何将 CLion C++ 项目导入 Visual Studio?
- Python 3.8 不能与 Pybind11 一起导入 [Windows]
- 无法将标准库导入本机 android 项目中的头文件
- 尝试了解在导入的静态方法上使用删除方法时的错误
- 我的代码运行良好,但在游戏循环中中断
- 使用带有MCP23017的 pigpio 进行中断读取
- 在 python 模块中导入子模块时PyImport_Import失败
- 为什么我在 AVR 中的中断无法正常工作?
- 将 C# DLL 导入 C++ 以用于 JNI
- 使用 QSslCertificate 在 Qt 中正确导入 pkcs12
- 为什么将枚举标记为导出/导入会中断氧气生成