分享一个自己踩的坑。QT项目本来好好的,经过一段时间的接口开发后,再回来调试,发现惊现422个问题。
本来按正常思路突然这么多报错肯定是环境有问题,然后我发现报错的文件全部都是SDK下的。然后就不停的尝试排除,新建空项目验证等,就差重装SDK了。回过头来仔细看了一下报错内容,发现全都跟INT32有关系。突然猛地想起来什么,原来是之前写某项功能的时候,包含库和basetsd.h中的INT32冲突了。之前搜解决方法的时候,有帖子建议直接把INT32改为INT32_B。于是我又改了回来,编译通过。这里basetsd.h和winnt.h、winuser应该有着某种依赖关系,有大神了解的话请告诉一下。
总结:修改关键头文件的类型名千万慎重!!