解决typedef void * POINTER_64 PVOID64问题

解决typedef void * POINTER_64 PVOID64; 问题
1 出现问题:
1>d:\vs2005\vc\platformsdk\include\winnt.h(222) : error C2146: 语法错误 : 缺乏“;”(在标识符“PVOID64”的前面)
1>d:\vs2005\vc\platformsdk\include\winnt.h(222) : error C4430: 缺乏类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>d:\vs2005\vc\platformsdk\include\winnt.h(5940) : error C2146: 语法错误 : 缺乏“;”(在标识符“Buffer”的前面)
1>d:\vs2005\vc\platformsdk\include\winnt.h(5940) : error C4430: 缺乏类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>d:\vs2005\vc\platformsdk\include\winnt.h(5940) : error C4430: 缺乏类型说明符 - 假定为 int。注意: C++ 不支持默认 int
2 解决方法:
方法1:[fag_笔记winnt.h文件里288行]
typedef void *PVOID;
typedef void * POINTER_64 PVOID64;
在它以前加下:c++

define POINTER_64 __ptr64

方法2(可能不成功):
调整include文件夹的顺序来解决问题,platform SDK中的winnt.h
DDK中的,vs自带的winnt.h有多个。 dxsdk 中的这些所用到的winnt.h版本不一样。
经过调整IDE 工具-> 选项-> 项目vc++目录;包含文件include 的顺序来解决这类问题
使dxsdk须要的winnt.h所在文件夹在最上面markdown

我一直用方法一,运行正常~~工具

相关文章
相关标签/搜索