我一直试图进入驾驶员发展阶段(排队等待#34;不要这样做") 我一直在查看this msdn page,在安装WDK (Windows Driver Kit) 10后,我仍然无法编译他们在该页面上使用的示例。
我查看了其他SO questions但我无法找到WDK的已安装目录。当我尝试运行设置时,我受到了这样的欢迎:
我该如何解决这个问题?
答案 0 :(得分:8)
您需要将WDK标头路径添加到vcxproj包含目录:
vcxproj属性 - > C / C ++ - >一般 - >其他包含目录
C:\Program Files (x86)\Windows Kits\10\Include\10.0.14393.0\km\
P.S。:确保将SDK 10与WDK 10一起安装。
P.P.S:如果没有SDK,您将收到Cannot open include file: 'ntdef.h'
错误
答案 1 :(得分:2)
当您需要使用最新(或特定)版本的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为我解决了这个问题。
旁注
使用VS2015的默认布局安装Win SDK,但由于某些原因,它在VS更新过程中无法获得更新。
答案 2 :(得分:1)
可以添加一个宏$(DDK_INC_PATH)来包含项目的目录(vcxproj属性-> VC ++目录->包含目录)
答案 3 :(得分:1)
通过在Visual Studio中的“项目属性”->“常规”下选择其他“ Windows SDK版本”来解决该问题。
在目录C:\Program Files (x86)\Windows Kits\10\Include
中,我有5个Windows SDK文件夹。最新的(10.0.17763.0)没有km
子文件夹。在Visual Studio中将Windows SDK版本从10.0.17763.0
更改为10.0.17134.0
之后,找到了ntddk.h
标头。
答案 4 :(得分:1)
我也面临类似的问题。下面为我工作:
步骤1 :了解要为其开发驱动程序的目标Windows平台。您可以通过查看设置->系统->关于-> Windows规范
在系统上检查“ Windows版本”第2步:确保安装了与目标Windows平台版本匹配的兼容“ Windows SDK”和“ WinSDK”。
第3步:验证$(DDK_INC_PATH)中是否存在“ ntddk.h”。该预处理器宏通常计算为“ C:\ Program Files(x86)\ Windows Kits \ 10 \ Include \\ km”。如果看不到“ km”文件夹,请仔细按照上面第2步中提到的链接进行操作。
步骤4 :验证项目属性->配置属性->常规->平台工具集正在使用“ WindowsKernelModeDriver”。
答案 5 :(得分:0)