包含后编译时报大量语法错误,Error C2146、C4430、C2059、C2062等等,原因是头文件或宏定义冲突,使用各个版本的visual studio,包括vc6、vs 2003、2005、2008、2010都会发生。
网上哀鸿遍野,对此怨声载道,也有人提出了一些解决方法,例如修改,在
typedef void *PVOID;
typedef void * POINTER_64 PVOID64;
这两行之前加上:
#define POINTER_64 __ptr64
如果第一个编译错误来自typedef void *PVOID这里,这种方法是有效的。此处出错虽然常见,但实际的出错点千奇百怪,并不局限于此,这是治标不治本的方法。
经搜索发现,在#include <>前加上#include <>就可以解决这个问题。
上述方法是对一般工程而言,如果是DirectX开发,需要调整包含文件搜索目录的顺序,将DirectX SDK的目录放到搜索目录列表顶部,网上相关内容很多,不赘。
增加:
上述是我转载的内容,我试着操作了,但是会有其他的文件如 出现问题。这些文件是系统带的,不是我们自己写的,应该不会有什么问题,出问题的原因应该是我们的环境配置有问题,最容易出问题的 一是路径 其次是 缺少动态库。 最后 我增加了 动态库,编译成功。