windows sdk 的c语言,c ++-如何确定计算机上安装的Windows SDK版本?

如果需要在编译时确定正在使用的Windows SDK的主要操作系统版本,则可以使用ntverp.h中定义的VER_PRODUCTBUILD宏。 例如:

#include

#if VER_PRODUCTBUILD > 9600

// Windows 10+ SDK code goes here

#else

// Windows 8.1- SDK code goes here

#endif

在大多数情况下,这不是必需的,因为应将产品设计为使用特定平台的SDK进行构建。 但是对于某些大型产品,可能需要支持多个平台的SDK。 从一个迁移到另一个时,这尤其有用。 如果头文件中存在错误(例如Windows 8.1 SDK版本的bthledef.h中存在虚假的“ #pragma pop”),则可能需要解决此错误,但在使用Windows 10 SDK时不包括解决方法 或更高。 如果未安装所需的SDK版本,此技术还可用于提供有用的错误消息。

请注意,VER_PRODUCTBUILD仅提供主要的操作系统版本信息,例如8.1与10。这意味着VER_PRODUCTBUILD越来越无用,因为它不会随Windows 10的更新而变化。因此,更可能要看的是sdkddkver.h和 NTDDI_WIN10_ *宏。 从Windows 10.0.17763.0 SDK开始,现在定义了NTDDI_WIN10_RS5。 因此,编写如下代码:

#include

#if !defined(NTDDI_WIN10_RS5)

#error Windows 10.0.17763.0 SDK is required

#endif

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值