error C2146: 语法错误 : 缺少“;”

 

如果编译出现如下错误:
1>d:\...\vc\platformsdk\include\winnt.h(222) : error C2146: 语法错误 : 缺少“;”(在标识符“PVOID64”的前面)

解决方法:
方法1:
typedef void *PVOID;
typedef void * POINTER_64 PVOID64;
在它之前加下:
#define POINTER_64 __ptr64
方法2(可能不成功):
调整include文件夹的顺序来解决问题,platform SDK中的winnt.h
DDK中的,vs自带的winnt.h有多个。 dxsdk 中的这些所用到的winnt.h版本不同。
通过调整IDE 工具-> 选项-> 项目vc++目录;包含文件include 的顺序来解决这类问题
使dxsdk需要的winnt.h所在文件夹在最上面

原文地址:https://www.cnblogs.com/byfei/p/3112336.html