VC2008编译,winnt.h 报错的问题

C:/Program Files/Microsoft SDKs/Windows/v6.0A//include/winnt.h(236) : error C2146: syntax error : missing ';' before identifier 'PVOID64' C:/Program Files/Microsoft SDKs/Windows/v6.0A//include/winnt.h(236) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:/Program Files/Microsoft SDKs/Windows/v6.0A//include/winnt.h(7818) : error C2146: syntax error : missing ';' before identifier 'Buffer' C:/Program Files/Microsoft SDKs/Windows/v6.0A//include/winnt.h(7818) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int C:/Program Files/Microsoft SDKs/Windows/v6.0A//include/winnt.h(7818) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

编译

打开winnt.h文件,发现问题就是在winnt.h头文件中无POINTER_64的定义造成的。

搜索vc下的头文件,发现在basetsd.h头文件中有POINTER_64的定义,而在winnt.h头文件中也包含了该头文件。
而在dxsdk9中也有basetsd.h头文件,而该文件无POINTER_64的定义,因此编译通不过。调整头文件搜索顺序后,DX9的头文件路径都移到最下面,然后问题就解决了。

你可能感兴趣的:(VC2008编译,winnt.h 报错的问题)