错误 1 error C2146: 语法错误: 缺少“;”(在标识符“PVOID64”的前面)

错误 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所在文件夹在最上面。

调整后,问题解决!

你可能感兴趣的:(OpenCV)