[VS2015] 安裝 Windows SDK 10 與 WDK 10 版本衝突?

[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) 就好:

20160707_181101

 

後來的 WDK 安裝時,看到它版本是寫 10.0.10586,

也沒特別在意,反正 WDK 也安裝成功了,應該沒問題吧?

不過開了一個 Kernel Mode Driver (KMDF) 專案,

編譯就遇到錯誤,說找不到 ntddk.h 這個檔案:

20160708_120107

 

打開專案 > Properties > VC++ Directories > Include Directories > Edit,

看到目前 include 的是 10.0.10240 下面的檔案: 

20160708_173621

 

來去 C:Program Files (x86)Windows Kits10 目錄下找找看 ntddk.h 在哪裡…

結果發現是在 10.0.10586.0km 目錄下,

但我們 include 的是 10.0.10240.0km 目錄,所以找不到 ntddk.h:

20160708_173828

 

老實說我也搞不懂是怎麼一回事,猜測是 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 囉:

20160709_120652

 

(本頁面已被瀏覽過 1,756 次)

One thought on “[VS2015] 安裝 Windows SDK 10 與 WDK 10 版本衝突?

  1. 請問有遇過cannot open source file device.tmh
    這error嗎
    google找不太到solution
    我裝了wdk10 sdk10.
    去C:Program Files (x86)Windows Kits這目錄找device.tmh 也找不到

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料