vs2010 下的winnt.h错误

 
  
  1. ------ Rebuild All started: Project: 123, Configuration: Debug Win32 ------  
  2.   stdafx.cpp  
  3. c:\program files\microsoft sdks\windows\v7.0a\include\winnt.h(290): error C2146: syntax error : missing ';' before identifier 'PVOID64' 
  4. c:\program files\microsoft sdks\windows\v7.0a\include\winnt.h(290): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
  5. c:\program files\microsoft sdks\windows\v7.0a\include\winnt.h(8992): error C2146: syntax error : missing ';' before identifier 'Buffer' 
  6. c:\program files\microsoft sdks\windows\v7.0a\include\winnt.h(8992): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
  7. c:\program files\microsoft sdks\windows\v7.0a\include\winnt.h(8992): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 
  8. ========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
 
  解决方法:在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所在文件夹在最上面。    
   
 

你可能感兴趣的:(vs2010 下的winnt.h错误)