[VS2015] 安裝 Windows SDK 10 與 WDK 10 版本衝突?
這幾天安裝 Visual Studio 2015 + Windows SDK + WDK 搞了很久,
後來才發現是 Windows SDK 和 WDK 版本的問題,記錄一下…
這是我原本安裝 Visual Studio 2015 時,在選擇 Windows SDK 的部分,
想說選擇 Windows 10 SDK (10.0.10240) 就好:
後來的 WDK 安裝時,看到它版本是寫 10.0.10586,
也沒特別在意,反正 WDK 也安裝成功了,應該沒問題吧?
不過開了一個 Kernel Mode Driver (KMDF) 專案,
編譯就遇到錯誤,說找不到 ntddk.h 這個檔案:
打開專案 > Properties > VC++ Directories > Include Directories > Edit,
看到目前 include 的是 10.0.10240 下面的檔案:
來去 C:Program Files (x86)Windows Kits10 目錄下找找看 ntddk.h 在哪裡…
結果發現是在 10.0.10586.0km 目錄下,
但我們 include 的是 10.0.10240.0km 目錄,所以找不到 ntddk.h:
老實說我也搞不懂是怎麼一回事,猜測是 WDK 裝了 10.0.10586 的版本,
可是 VS2015 那邊因為 Windows SDK 是安裝 10.0.10240 的版本,
因此會想去找 10.0.10240 的檔案…
後來解決的方法,是重裝虛擬機器,
在安裝 Visual Studio 2015 時,選擇 Windows SDK 10.0.10586,
這樣再搭配最新的 WDK 10.0.10586 就沒有問題了,編譯也會成功~
如果是實體機器或沒有建 snapshot 的話,也許可以試試移除 WDK + SDK 再來一次…
來看一下這時候的 include 狀況,目錄都指到 10.0.10586 囉:
One thought on “[VS2015] 安裝 Windows SDK 10 與 WDK 10 版本衝突?”
請問有遇過cannot open source file device.tmh
這error嗎
google找不太到solution
我裝了wdk10 sdk10.
去C:Program Files (x86)Windows Kits這目錄找device.tmh 也找不到