本文共 473 字,大约阅读时间需要 1 分钟。
Qt构建程序时出现如下报错,有很多,大概是成百上千的报错头文件重定义,而且是系统文件报错。这个就要说到另一个博客了与这个问题有很多相似之处
查看了网上很多的资料,说是重复包含头文件,形成了一个循环,就是你包含我,我包含你,最出现排斥错误。我查看了一下所有的头文件的包含文件,发现并没有重复包含什么头文件,如果有,就是引用的外部头文件之间问题。比如说我引用了外部文件a和b,这两个文件恰好包含了同一个文件c,并且对这个文件的某些宏定义做了重定义,那么问题来了,c文件到底听谁的呢?所以需要在#include <windows.h> 前一行添加 #define WIN32_LEAN_AND_MEAN //去除一些不常用的。 出处:
#define WIN32_LEAN_AND_MEAN他的作用根据博主的描述和其他对这条指令的解释推断:去除一些不常用的宏定义,直白一点,c文件说我不要了,你们拿去随便用。这些去除的定义就可以成为文件a或b私有的了,这样就不会产生冲突了。
这是我自己推断的,请带有批判的眼光查看,如有错误,请联系我改正,诚恳求教!
转载地址:http://ieezi.baihongyu.com/