在使用一些新版本的API,或者控件的新特性(比如新版的ComCtl32.dll)的时候,你可能会得到“error C2065: undeclared identifier.“这个错误。原因是这些功能是依赖于你的操作系统的版本的。而你的头文件中的定义并不是最新的。

  下面详细列举了每个Windows版本对应的NTDDI_VERSION,_WIN32_WINNT,WINVER,_WIN32_IE这些宏。

下表描述不同版本Windows头文件中推荐使用的宏

  Minimum system required          Macros to define 

  Windows Server                      NTDDI_VERSION >= NTDDI_LONGHORN
  Windows Vista NTDDI_VERSION >= NTDDI_VISTA
  Windows Server SP1 NTDDI_VERSION >= NTDDI_WS03SP1
  Windows Server NTDDI_VERSION >= NTDDI_WS03
  Windows XP SP2 NTDDI_VERSION >= NTDDI_WINXPSP2
  Windows XP SP1 NTDDI_VERSION >= NTDDI_WINXPSP1
  Windows XP NTDDI_VERSION >= NTDDI_WINXP
  Windows SP4 NTDDI_VERSION >= NTDDI_WIN2KSP4
  Windows SP3 NTDDI_VERSION >= NTDDI_WIN2KSP3
  Windows SP2 NTDDI_VERSION >= NTDDI_WIN2KSP2
  Windows SP1 NTDDI_VERSION >= NTDDI_WIN2KSP1
  Windows NTDDI_VERSION >= NTDDI_WIN2K

下表描述不同版本Windows头文件中使用的合法宏

  Minimum system required                 Macros to define
  
  Windows Server _WIN32_WINNT>=0x0600
WINVER>=0x0600
  Windows Vista _WIN32_WINNT>=0x0600
WINVER>=0x0600
  Windows Server _WIN32_WINNT>=0x0502
WINVER>=0x0502
  Windows XP _WIN32_WINNT>=0x0501
WINVER>=0x0501
  Windows _WIN32_WINNT>=0x0500
WINVER>=0x0500
  Windows NT 4.0 _WIN32_WINNT>=0x0400
WINVER>=0x0400
  Windows Me _WIN32_WINDOWS=0x0500
WINVER>=0x0500
  Windows _WIN32_WINDOWS>=0x0410
WINVER>=0x0410
  Windows _WIN32_WINDOWS>=0x0400
WINVER>=0x0400   Internet Explorer 7.0 _WIN32_IE>=0x0700
  Internet Explorer 6.0 SP2 _WIN32_IE>=0x0603
  Internet Explorer 6.0 SP1 _WIN32_IE>=0x0601
  Internet Explorer 6.0 _WIN32_IE>=0x0600
  Internet Explorer 5.5 _WIN32_IE>=0x0550
  Internet Explorer 5.01 _WIN32_IE>=0x0501
  Internet Explorer 5.0, .0a, .0b _WIN32_IE>=0x0500
  Internet Explorer 4.01 _WIN32_IE>=0x0401
  Internet Explorer 4.0 _WIN32_IE>=0x0400
  Internet Explorer 3.0, 3.01, 3.02 _WIN32_IE>=0x0300

使用某些Widows API时,明明包含了该头文件,却报错“error C2065: undeclared identifier”的更多相关文章

  1. Java中使用HttpPost上传文件以及HttpGet进行API请求(包含HttpPost上传文件)

    Java中使用HttpPost上传文件以及HttpGet进行API请求(包含HttpPost上传文件) 一.HttpPost上传文件 public static String getSuffix(fi ...

  2. VC中明明已经添加了头文件却还提示未定义的问题

    我在VS中编译程序遇到这个错误:error C3861: 'ReadDirectoryChangesW': identifier not found, even with argument-depen ...

  3. ArcGIS API for Silverlight 调用WebService出现跨域访问报错的解决方法

    原文:ArcGIS API for Silverlight 调用WebService出现跨域访问报错的解决方法 群里好几个朋友都提到过这样的问题,说他们在Silverlight中调用了WebServi ...

  4. CentOS命令登录MySQL时,报错ERROR 1045 (28000):

    CentOS命令登录MySQL时,报错ERROR 1045 (28000): Access denied for user root@localhost (using password: NO)错误解 ...

  5. sublime text3 当运行报错error时,取消显示路径path的方法

    sublime text3 每当运行报错error时,都会出现一长串的path路径,如何不显示呢? 可以通过注释掉Packages/Default/exec.py的四个特定行来更改. 首先,您需要从P ...

  6. 启动Tomcat服务时,出现org.apache.catalina.startup.VersionLoggerListener报错

    启动Tomcat服务时,出现org.apache.catalina.startup.VersionLoggerListener报错解决办法:打开Tomcat安装后目录,进入conf文件夹,找到配置文件 ...

  7. 安装centos6.10时,安装完成重启报错error 15,file not found

    今天在一台老式联想服务器上安装centos6.10操作系统,安装完成,重启时,出现报错 error 15, file not found...... 在百度上搜索到进grub编辑,可还是无法解决问题, ...

  8. linux下编译时的默认库和头文件搜索路径

    链接库路径 默认的链接库路径,定义在搜索/etc/ld.so.conf下的一些路径,其包含了一些重要的系统位置:LIBRARY_PATH, 但如果定义了LD_LIBRARY_PATH, 动态库的搜索路 ...

  9. SonarQube执行代码分析时,报错ERROR: Unable to create symbol table for : /**/*.java java.lang.IllegalArgumentException: Unsupported class file major version 55

    若要转载本文,请务必声明出处:https://www.cnblogs.com/zhongyuanzhao000/p/11686633.html 起因: 最近正在尝试SonarQube的简单使用,但是当 ...

随机推荐

  1. Rails 执行 rails server 报错 Could not find a JavaScript runtime

    gem install 'execj' gem install 'therubyrace' Ubuntu install Node.js(ubuntu) sudo apt-get install no ...

  2. css基础和心得(四)

     现在来说相对定位: 如果想为元素设置层模型中的相对定位,需要设置position:relaive(表示相对 定位),它通过left.right.top.bottom属性确定元素在正常文档流中便宜位 ...

  3. Android Studio新手

    目标:Android Studio新手–>下载安装配置–>零基础入门–>基本使用–>调试技能–>构建项目基础–>使用AS应对常规应用开发 AS简介 经过2年时间的研 ...

  4. C# 语言规范_版本5.0 (第13章 接口)

    1. 接口 一个接口定义一个协定.实现某接口的类或结构必须遵守该接口定义的协定.一个接口可以从多个基接口继承,而一个类或结构可以实现多个接口. 接口可以包含方法.属性.事件和索引器.接口本身不提供它所 ...

  5. SAP HANA 创建属性视图

    [Step By Step]SAP HANA创建属性视图(Attribute View) Demo Instruction: 从一张用户信息表中组合出相信地址. 1. 在modeler窗口中,找到相应 ...

  6. UltimateDefrag磁盘碎片整理软件 v3.0.100.19汉化版

    软件名称:UltimateDefrag磁盘碎片整理软件 v3.0.100.19汉化版软件类别:汉化软件运行环境:Windows软件语言:简体中文授权方式:免费版软件大小:3.25 MB软件等级:整理时 ...

  7. AVAudioPlayer的锁屏播放控制和锁屏播放信息显示

    在设置这个锁屏之前,首先得设置应用支持后台音乐播放,TAGETS->Info->Required background modes->App plays audio or strea ...

  8. sql-yog

    sqlyog及类似工具的使用 #建表 #索引 #联合索引 #前缀索引 #表注释 #sql语句

  9. 找工作---操作系统常考知识点总结【PB】

    1.进程是并发过程中程序的执行过程 2.进程的特征:结构特征.动态性.并发性.独立性.异步性 3.临界区指在每个进程中访问临界资源的那段代码 4,现在操作系统中申请资源的基本单位是进程,在CPU得到执 ...

  10. php 常用的调试方法

    file_put_contents("c:\1.log","输出字符串",FILE_APPEND);第三个参数是防止前面的内容被覆盖 error_log(pri ...