错误 1 error C2146: 语法错误: 缺少“;”(在标识符“PVOID64”的前面)
由 directdraw 的升级引起
在网上查了下资料,解决方法如下:
第一步:在winnt.h中加入头文件#include "basetsd.h"
第二步:在winnt.h中加上以下语句
#define POINTER_64 __ptr64
typedef void *PVOID;
typedef void * POINTER_64 PVOID64;
最好不去改winnt.h.
有时需要要调整include文件夹的顺序来解决问题,platform SDK中的winnt.h
DDK中的,vc6.0 自带的winnt.h有多个。 dxsdk 中的这些所用到的winnt.h版本不同。
通过调整IDE 工具-> 选项-> 项目vc++目录;包含文件include 的顺序来解决这类问题
使dxsdk需要的winnt.h所在文件夹在最上面。
调整后,问题解决!