把之前一个项目从Qt5.8+vs2015迁移到Qt6结果碰到第一个问题:byte定义二义性错误,有个windows的文件rpcndr.h中定义了byte为unsigned char。而Qt使用标准类库使用的是std::byte.类似的还有min,max等。经过一通google,bing,百度。最终发现最可行的解决方法是:不要再你的代码中使用using namespace std.所有用到标准类库的类都用std::来标注别怕麻烦。
Qt6结合vs2019开发遇坑之一
最新推荐文章于 2024-08-15 15:32:25 发布
在将项目从Qt5.8+VS2015迁移到Qt6的过程中,遇到了byte定义二义性的错误,由于windows的rpcndr.h文件中将byte定义为unsigned char,而Qt6使用了std::byte。类似地,min和max等也存在冲突。解决方法是避免使用'using namespace std',而是直接通过std::引用标准库的类,尽管这会增加代码的繁琐程度。
摘要由CSDN通过智能技术生成