按照网上说法在
typedef void *PVOID;
typedef void * POINTER_64 PVOID64;
之前加一句#define POINTER_64 __ptr64
即:
#define POINTER_64 __ptr64
typedef void *PVOID;
typedef void * POINTER_64 PVOID64;
出现nonstandard extension used : '__ptr64' keyword not supported in this product错误
目录设置如下
C:\DXSDK\INCLUDE
C:\DXSDK\SAMPLES\C++\DIRECTSHOW\BASECLASSES
C:\Program Files\Microsoft Platform SDK\Include
C:\DXSDK\LIB
C:\Program Files\Microsoft Platform SDK\Lib
typedef void *PVOID;
typedef void * POINTER_64 PVOID64;
之前加一句#define POINTER_64 __ptr64
即:
#define POINTER_64 __ptr64
typedef void *PVOID;
typedef void * POINTER_64 PVOID64;
出现nonstandard extension used : '__ptr64' keyword not supported in this product错误
目录设置如下
C:\DXSDK\INCLUDE
C:\DXSDK\SAMPLES\C++\DIRECTSHOW\BASECLASSES
C:\Program Files\Microsoft Platform SDK\Include
C:\DXSDK\LIB
C:\Program Files\Microsoft Platform SDK\Lib
改成
typedef void *PVOID;
//typedef void * POINTER_64 PVOID64;
typedef void * POINTER_64 PVOID;
还是报错error C2146: syntax error : missing ';' before identifier 'PVOID'
我已经试过好多次了 都是不行 麻烦你写出正确的写法好么 ,谢谢
typedef void* PVOID64;
#define POINTER_64 __ptr64还报错的
的问题根源可能有二
1,你的SDK版本不够 --你是用的2005吗?看一下头文件目录 里包含对了没有。
2,头文件包含里一定要先包含2005 sdk include再包含其他的。
http://hi.baidu.com/wuxiaoming1733/blog/item/aca6289754fa186555fb96dc.html可以改写winnt.h中的代码,将
typedef void *PVOID;
typedef void * POINTER_64 PVOID64;
改成
typedef void *PVOID;
typedef void * POINTER_64;
typedef void * PVOID64;