无法打开包含文件:“ntddk.h”

新手上路,请多包涵

我一直在尝试进行驱动程序开发(排队“不要那样做”)我一直在查看 这个 msdn 页面,在安装 WDK(Windows 驱动程序工具包)10 之后,我仍然无法编译他们的示例在该页面上使用。

我查看了其他 SO 问题,但找不到 WDK 的安装目录。当我尝试运行设置时,我受到以下欢迎: WDK 设置图像

我该如何解决这个问题?

原文由 Ezzy 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.8k
2 个回答

您需要将 WDK 标头路径添加到您的 vcxproj 包含目录:

vcxproj 属性 -> C/C++ -> 常规 -> 附加包含目录

C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\km\

PS:请确保将 SDK 10 与 WDK 10 一起安装。

PPS:如果没有 SDK,您将得到 Cannot open include file: 'ntdef.h' 错误

原文由 Саша Зезюлинский 发布,翻译遵循 CC BY-SA 3.0 许可协议

经验法则

当您需要使用最新(或特定)版本的 WDK 构建时,请检查是否安装了相应版本的 Win SDK。

疑似原因

在调试问题的过程中,似乎(由于 SDK 版本)构建过程将 $(LatestTargetPlatformVersion) 设置为 10.0.10586。而安装的 WDK 只为 10.0.14393 版本提供所需版本的构建文件。看起来这是某种预期的行为。

我的情况

就我而言,这是由于 Win SDK 和 WDK 的不同版本。我有 SDK 10.0.10586 和 WDK 10.0.14393。安装 SDK 10.0.14393 为我解决了这个问题。

边注

Win SDK 以 VS2015 的默认布局安装,但由于某种原因,它在 VS 更新过程中没有得到更新。

原文由 IsXanDe 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题