在使用Qt过程中,由于项目需要定义了一个枚举类型:
enum DEVICE_TYPE {//设备类别
DEVICE_TYPE__CO,
DEVICE_TYPE__CO_J,
DEVICE_TYPE__CO_S,
DEVICE_TYPE__RD,
}
但是在编译的时候就出现了以上的错误:
“DWORD”: 重定义;不同的基类型
原因:由于调用window中的头文件,在文件winioctl.h中定义了

和项目中定义的枚举类型DEVICE_TYPE 出现了冲突。
解决方法:
添加上取消宏定义的方法即可。
//添加上一下三行
#ifdef DEVICE_TYPE
#undef DEVICE_TYPE
#endif // DEVICE_TYPE
enum DEVICE_TYPE {//设备类别
DEVICE_TYPE__CO,
DEVICE_TYPE__CO_J,
DEVICE_TYPE__CO_S,
DEVICE_TYPE__RD,
}
aaa
在使用Qt开发过程中,遇到自定义枚举类型与Windows头文件winioctl.h中预定义宏DEVICE_TYPE冲突的问题。本文详细介绍了冲突的原因及解决方法,通过取消宏定义成功避免了编译错误。
2498

被折叠的 条评论
为什么被折叠?



