wdkvs2015編譯
1. win10上安裝wdk後怎麼編譯內核程序
方法/步驟
WDK的安裝
WDK的安裝,點擊exe文件,然後如圖選中,繼續下一步操作完成安裝,點擊OK即可。
打開程序
從「開始」菜單中打開WDK的build環境配置,從「開始」菜單中選擇「所有程序」,然後選擇「Windows Driver Kits」在WDK的版本(這里「WDK 6001 18001」)「Build Enieiroments」到「Windows XP」到「Launch Windows XP x86 Checked Build Enviroment」。
編譯程序
出現一個控制台,這個控制台已經配置好編譯環境。現在輸入cd命令,進入我們先前建立的first目錄;進入之後,輸入build命令。現在編譯結束,First.svs出現在\First\objchk_wxp_x86\i386下。
安裝srvinstw.exe
接下來安裝srvinstw.exe,執行這個工具,把我們編寫的first.sys安裝到自己的計算機上。
服務選擇
選擇「安裝服務」並單擊「下一步」按鈕。然後選擇「本地計算機」,單擊「下一步」按鈕。
服務名稱配置
這時要輸入服務名稱,這里輸入文件的名字「first」。但這個名稱不一定要
和文件名相同,可以隨意輸入,只是不能和已經存在的服務沖突。接下來,這個位置是需要手工輸入sys文件的路徑。
選擇「設備驅動」
接下來選擇「設備驅動」。輸入「NT驅動器目標名」不需要輸入任何內容,直接單擊「下一步」按鈕即可。選擇啟動類型:請一定選擇「手動」。
2. VS2015驅動開發環境配置
VS2013隻能與WDK8.1搭配,這是官方已經明說了的,WDK7.1那是給VS2010以下版本用的。
3. 我的電腦是VS2015,我想裝WDK 應該裝什麼版本的WDK
至少裝8.0的。
4. VS2015+WDK10編譯UMDF工程生成的inf文件怎麼安裝
設置目標或測試計算機是配置計算機以便進行自動驅動程序部署、測試和調試的過程。一個測試和調試環境具有兩台計算機:主計算機和目標計算機。目標計算機也稱為逗測試計算機地。使用主機上的 Visual Studio 開發和構建驅動程序。調試程序在主機上運行並且位於 Visual Studio 用戶界面中。當測試和調試驅動程序時,驅動程序在目標計算機上運行。
主計算機和目標計算機必須能夠彼此按名稱執行 ping 操作。如果兩台計算機已加入到同一工作組或同一網路域,則此操作可能更容易。如果你的計算機位於工作組中,我們建議你使用路由器(而非集線器或交換機)連接計算機。不支持對虛擬機進行設置。
准備目標計算機以進行設置
在目標計算機上,安裝將用於運行和測試驅動程序的操作系統。
如果在 x86 或 x64 目標計算機上啟用逗安全啟動地,則禁用該功能。
如果目標計算機使用 ARM 處理器,則安裝 Windows 調試策略。則無需禁用逗安全啟動地。
在目標計算機上,運行與目標計算機平台匹配的 WDK 測試目標安裝程序 MSI。可以在 Remote 下的 Windows 驅動程序工具包 (WDK) 安裝目錄中找到該 MSI。
例如:C:\Program Files (x86)\Windows Kits\10\Remote\x64\WDK Test Target Setup x64-x64_en-us.msi
如果目標計算機運行的是 N 或 KN 版本的 Windows,則安裝適用於 N 和 KN 版本的 Windows 的媒體功能包。
如果目標計算機運行的是 Windows Server,請查找剛才通過 WDK 測試目標設置 MSI 創建的 DriverTest 文件夾。(例如:c:\DriverTest)。右鍵單擊逗DriverTest地文件夾,然後選擇逗屬性地。在逗安全地選項卡上,向逗經過身份驗證的用戶地組授予逗修改地許可權。
驗證主機和目標計算機可以彼此執行 ping 操作。打開命令提示符窗口,並輸入 ping 192.186.X.X(ip_adress)。
如果主計算機和目標計算機已加入到一個工作組,但它們位於不同的子網上,你可能必須調整某些防火牆設置,以便主計算機和目標計算機可以通信。請按照下列步驟進行操作:
兩種方法(選一即可):
方法一:
在目標計算機上的逗控制面板地中,轉到逗網路和 Internet地>逗網路共享中心地。注意你的活動網路。它可能是逗公共網路地、逗私有網路地或逗域地。
在目標計算機上的逗控制面板地中,轉到逗系統和安全地>逗Windows 防火牆地>逗高級設置地>逗入站規則地。
在入站規則列表中,查找用於活動網路的所有網路發現規則。(例如,查找所有逗配置文件地為逗專用地的網路發現規則。)雙擊每個規則,然後打開逗作用域地選項卡。在逗遠程 IP 地址地下,選擇逗任何 IP 地址地。
在入站規則列表中,查找用於活動網路的所有逗文件和列印機共享地規則。對於每個規則,雙擊該規則,將打開逗作用域地選項卡。在逗遠程 IP 地址地下,選擇逗任何 IP 地址地。
方法二:
逗控制面板地->逗系統和安全地->逗Windows防火牆地->"啟動或關閉Windows防火牆"->"關閉Windows防火牆"
設置目標計算機
現在,你可以隨時在 Visual Studio 中通過主計算機設置目標計算機。
在主計算機上,在 Visual Studio 的逗Driver地菜單中,選擇逗Test地>逗Configure Deivce地。
單擊逗Add New Device地。
在逗Network host name地中輸入目標計算機的名稱。選擇逗Provision Device and choose debugger setting地。
選擇某種調試連接類型,並輸入所需的參數。
設置過程將需要幾分鍾時間,並且可能會自動重新啟動目標計算機一到兩次。設置完成後,單擊逗完成地。
WDK 10 與 Microsoft Visual Studio 完全集成。你可以使用 Visual Studio 開發環境生成驅動程序,也可以使用 Microsoft Build Engine (MSBuild) 直接從命令行生成驅動程序。
從 Windows 驅動程序工具包 (WDK) 8 開始,MSBuild 就已經取代了在早期版本的 WDK 中使用的 Windows 構建實用工具 (Build.exe)。現在,WDK 可使用與你用於構建 Visual Studio 項目相同的編譯器和構建工具。使用早期版本的 WDK 構建的驅動程序項目必須進行轉換才能在 Visual Studio 環境中工作。你可以從命令行運行轉換實用工具,也可以通過從現有的源創建新的 Visual Studio 項目來轉換現有驅動程序。
構建驅動程序主要有以下兩種方式(選一即可)
方法一:使用 Visual Studio 構建驅動程序
構建驅動程序的方法與在 Visual Studio 中構建任何項目或解決方案的方法相同。當使用 Windows 驅動程序模板創建新的驅動程序項目時,該模板定義默認(活動)的項目配置以及默認(活動)的解決方案生成配置。
注意 你可以將使用 WDK 8 或 Windows 驅動程序工具包 (WDK) 8.1 所創建的項目和解決方案轉換為適用於 Windows 驅動程序工具包 (WDK) 10 和 Visual Studio 2015。打開項目或解決方案前,請先運行 ProjectUpgradeTool。ProjectUpgradeTool 將轉換項目和解決方案,以便可以使用 WDK 10 構建它們。
1、確保安裝在你的計算機上的 SDK 和 WDK 的版本相同。
2、在 Visual Studio 中打開驅動程序項目或解決方案。
3、在逗解決方案資源管理器地中右鍵單擊解決方案,並選擇逗配置管理器地。
4、從逗配置管理器地中,選擇與你感興趣的構建類型相對應的活動解決方案配置(例如,逗調試地或逗發布地)以及活動解決方案平台(例如,逗Win32地)。
5、選擇要構建驅動程序的目標操作系統。導航到逗驅動程序地>逗常規地中的項目屬性,然後設置 TargetVersion 屬性。
6、為驅動程序或驅動程序包配置項目屬性。 可以為部署、驅動程序簽署或其他任務設置屬性。
7、從逗構建地菜單中,單擊逗構建解決方案地 (Ctrl+Shift+B)。
方法二:
使用命令行構建驅動程序 (MSBuild)
你可以使用逗Visual Studio 命令提示符地窗口和 Microsoft Build Engine (MSBuild) 來從命令行構建驅動程序。
使用逗Visual Studio 命令提示符地窗口構建驅動程序
打開逗適用於 VS2015 的開發人員命令提示符地窗口。
在此窗口中,你可以藉助 MSBuild.exe,通過指定項目 (.VcxProj) 或解決方案 (.Sln) 文件來構建任何 Visual Studio 項目。
導航到項目目錄並為你的目標輸入 MSbuild 命令。
例如,若要使用默認的平台和配置生成名為 MyDriver.vcxproj 的全新的 Visual Studio 驅動程序項目,請導航到項目目錄並輸入以下 MSBuild 命令:
msbuild /t:clean /t:build .\MyDriver.vcxproj
語法 - 若要指定特定的配置和平台,請使用以下命令語法:
msbuild /t:clean /t:build ProjectFile /p:Configuration=<Debug|Release> /p:Platform=architecture /p:TargetPlatformVersion=a.b.c.d /p:TargetVersion=OS
例如,以下命令將為逗調試地配置、逗Win32地平台和 Windows 10 生成一個通用 Windows 驅動程序。
msbuild /t:clean /t:build .\MyDriver.vcxproj /p:Configuration="Debug" /p:Platform=Win32 /p:TargetVersion=地Windows10地 /p:TargetPlatformVersion=地10.0.10010.0地
逗TargetPlatformVersion地設置為可選項,並且允許你指定用於生成的工具包版本。默認值為使用最新的工具包。
使用 Visual Studio 中的選項增加構建輸出詳細信息的步驟
1、單擊 Tools > Options。
2、單擊逗項目和解決方案地文件夾並單擊逗生成並運行地。
3、更改逗MSBuild 項目構建輸出詳細信息地和逗MSBuild 項目構建日誌文件詳細信息地。 默認情況下,這些都設置為逗最少地。
5. 使用VS2013+WDK8.1開發的PCI驅動程序,編譯生成XP系統的驅動程序該怎麼操作謝謝!!
可以,完全沒問題,無論是nt式,還是wdm,還是wdf,完全沒問題,可以直接打開以前的代碼,編譯
不需要修改。
6. WDK+Vs2008編譯驅動時,提示VsWizard.dll中的DllRegisterServer成功,同時沒有驅動文件生成,請問怎麼辦
打開wdk的build environment,找到你想要編譯的操作系統,check free自己看對應debug和release,進入命令行窗口,cd到你要編譯的目錄,目錄下必須有sources文件,執行build命令,ok,vs默認是不能編譯驅動的
7. vs2010 wdk 編譯的sys 無效
使用WDK開發的話,不建議使用驅動載入工具,進行載入,建議使用系統自帶的工具,具體的話,可以看我的帖子「WDK 環境搭建」:
http://jingyan..com/article/e75057f2df3493ebc91a89ab.html
帖子集文檔,截圖於一體,涉及wdk的下載,安裝,調試等,
希望對你有用,我是ndk吧吧主,有問題可以ndk吧留言,謝謝!
8. WDK的開發平台的搭建
你的問題比較籠統,不知道是怎樣的需求。我把我的經驗全都貼出來,樓主挑自己感興趣的吧。
一、源代碼編譯
在微軟官網上下載 WDK 開發包,裡面有 WDK 編譯器,鏈接器,配置工具,如NMAKE。然後,用記事本寫 C 或 C++ 文件,編譯,鏈接就 OK 了。
WDK 庫是一定要的,否則頭文件,導入庫都沒有,就無法編譯了。至於編譯器和連接器,其實就是普通的 cl.exe 和 link.exe 兩個工具,和 VS 中的 VC 編譯鏈接器是同一個。
編譯的方法是:
在自己的目錄如 c:\wdkdemo 中有個待編譯的 wdkdemo.c ,那麼需要在這個目錄里加入兩個文件,一個是 makefile (無後綴名)的固定文件名,內容也是固定的:
INCLUDE $(NTMAKEENV)\makefile.def
另外一個文件是 sources (無後綴名)的固定文件名,內容為:
targettype=driver
targetname=obj
sources=wdkdemo.c
這兩個文件都是讓nmake 工具配置用的,最終調用合適的編譯器和鏈接器開關來編譯出 sys 。
WDK包有個 build 命令行工具,當配置好了以上兩個文件後。雙擊 build 工具,進入到 c:\wdkdemo 目錄,輸入命令 build 回車,然後只要 wdkdemo.c 源代碼正確,就會生成 sys 文件了。
二、sys 文件安裝:
在網上下載個免費的驅動安裝工具,這個不難吧,一般調試用的驅動,建議在安裝的時候,千萬記得要選擇手動模式,因為自啟動模式,如果驅動有BUG ,會導致藍屏,重啟機器後,驅動因自啟動又被載入,導致再次藍屏。
三、調試
在微軟官網下個 windbg ,但 windbg 需要調試機和被調試機模式,因此 windbg 最好配合 vmware 來使用。
我感覺,sys 文件編譯是很麻煩的。不如編譯應用程序,只要一個 VS 可以搞定大部分的事情。驅動開發需要很多關於其他工具的知識。譬如,用記事本或者NOTEPAD++編輯源代碼感覺很吃力,因為 VS 沒有驅動開發的項目,因此 VS 不直接支持驅動開發,當然,可以進行配置,但 VS 配置驅動是很麻煩的。另外, windbg 有很多的調試命令,當然常規的命令一般4、5個就夠用了。VMWARE 的配置也是很麻煩的,當初,我自己研究了很長時間,網上雖然有教程,但都是講得不全面,譬如要配置10個地方,網上都是只說7、8個,導致 VMWARE 配置不成功。
驅動開發還有 DRIVER STUDIO 這么一個 IDE 可以使用,另外還有 IRPTRACE ,DEVICE TREE , DEBUG VIEWER 等工具。
我開發驅動的工具是 VMWARE + VS2010 + WDK + WINDBG + WINOBJ + IRPTRACE + DEBUG VIEWER 這幾個。
9. 怎麼用Visual Studio編譯內核驅動
在Win8以前開發內核驅動,准備編譯環境是個較繁瑣的事情。程序員需要手動下載WDK並安裝(注1),開發環境就在安裝好的WDK中。WDK是Windows Driver Kit縮寫,即Windows驅動開發包。它提供的開發環境簡陋得很,它不是一個便於開發的IDE環境,而僅僅是一些散裝的編譯工具包。
安裝好WDK後,WDK的編譯環境鏈接就顯示在開始菜單中了,要小心不能將它們刪掉,否則會麻煩,因為手動生成鏈接是麻煩事,後文會講。
編譯環境是分類的。首先根據目標系統分類,也就是要編譯生成運行在什麼OS上的目標文件。微軟大部分的產品都保持了向後兼容的習慣,這條規律也適用於此處:使用Win7子系統環境編譯出來的驅動文件,一般都能運行在Vista和XP系統上,反之就不會成立(注2)。
其次根據硬體平台分類,現在Windows系統能夠運行的平台有四個:X86,X64,IA64和ARM。其中ARM是Win8才開始的故事,這里還輪不到它出場,這樣就只有前面三個硬體平台(注3)。
最後又要根據編譯版本來分,即Checked(也可認做Debug)和Free(也可認作Release)這兩種。這樣來看,每個OS組別下面,就一定有6個編譯環境鏈接。
在這本書裡面,如果用舊版本WDK編譯驅動,就默認使用Win7目標系統的編譯環境,生成Checked版本,目標平台是X86或X64。所以就只會選兩種:X86 Checked Build Environment和X64 Checked Build Environment.
編譯環境打開來其實就是個控制台。它當然不同於直接從cmd.exe運行起來的控制台環境,區別在哪裡呢?我們已經知道,上圖的這些黑色的編譯環境圖標,其實都是快捷方式。不妨就看看它的快捷方式的Target內容,或許就知道端倪了。以X64 Checked Build Environment這個環境為例,打開來看到如下內容:
C:\Windows\System32\cmd.exe /k C:\WinDDK\7600.16385.1\bin\setenv.bat C:\WinDDK\7600.16385.1\ chk x64 WIN7
這一行內容仔細一看就很簡單了。原來所謂的編譯環境,就是一個運行cmd.exe的控制台進程,只不過它執行了用於初始化的/k參數。在Cmd.exe命令的幫助中,/k參數是這樣描述的:Carries out the command specified by string but remains(執行一個命令,執行完之後不退出程序)。也就是說,啟動控制台進程並執行命令,執行完後,控制台程序留給用戶繼續使用。
那麼/k之後的所有內容,都是一條初始化的命令:
C:\WinDDK\7600.16385.1\bin\setenv.bat C:\WinDDK\7600.16385.1\ chk x64 WIN7
它卻又可拆成幾個部分來分析。第一個setenv.bat是初始化編譯環境的批文件。後面的是它的參數:第一個參數,是WDK的路徑,通過它可以找到編譯器程序;第二個參數是指明要編譯生成checked版本目標文件;第三個指明硬體平台是x64;第三個指明目標系統是Win7。
位於WDK中的Setenv.bat文件是負責編譯環境配置的總廚,你把什麼參數遞給它,它就給你配出什麼類型的編譯環境來(菜也)。
怎麼在這個控制台裡面編譯驅動呢?我們統一用使用以下步驟:
通過CD命令,定位到含有source文件的那個驅動目錄;
輸入build或bld(build –cz的簡寫)命令進行編譯;
如果編譯成功,將生成驅動文件,否則會有錯誤或警告信息顯示出來;也可通過查看目錄文件夾下面的相關log文件查看詳細的錯誤或警告信息。
走到這里,編譯的事情算弄明白了。可能還會有朋友問我,我用什麼東西寫代碼呢?不好意思,關於這個問題,此時還沒有康莊大道供大家駟馬高車,不過千萬條小路卻是現成的。您可以用notepad記事本或者任何文本編輯器來編輯代碼,如果不嫌麻煩,用Visual Studio寫代碼也可以,只不過僅作代碼編輯而已。
10. 如何安裝WDK並運行編譯一個工程
方法/步驟 1 WDK的安裝 WDK的安裝,點擊exe文件,然後如圖選中,繼續下一步操作完成安裝,點擊OK即可。 2 打開程序 從「開始」菜單中打開WDK的build環境配置,從「開始」菜單中選擇「所有程序」,然後選擇「Windows Driver Kits」在WDK的版本(這里「WDK 6001 18001」)「Build Enieiroments」到「Windows XP」到「Launch Windows XP x86 Checked Build Enviroment」。 3 編譯程序 出現一個控制台,這個控制台已經配置好編譯環境。現在輸入cd命令,進入我們先前建立的first目錄;進入之後,輸入build命令。現在編譯結束,First.svs出現在\First\objchk_wxp_x86\i386下。 4 安裝srvinstw.exe 接下來安裝srvinstw.exe,執行這個工具,把我們編寫的first.sys安裝到自己的計算機上。 5 服務選擇 選擇「安裝服務」並單擊「下一步」按鈕。然後選擇「本地計算機」,單擊「下一步」按鈕。 6 服務名稱配置 這時要輸入服務名稱,這里輸入文件的名字「first」。但這個名稱不一定要 和文件名相同,可以隨意輸入,只是不能和已經存在的服務沖突。接下來,這個位置是需要手工輸入sys文件的路徑。 7 選擇「設備驅動」 接下來選擇「設備驅動」。輸入「NT驅動器目標名」不需要輸入任何內容,直接單擊「下一步」按鈕即可。選擇啟動類型:請一定選擇「手動」。 8 安裝DehugView.exe DehugView.exe的安裝非常簡單,直接打開DehugView.exe之後,界面如圖所示。 9 啟動.sys文件 要把Capture Kernel勾上,由於前面已經安裝了服務,所以,現在打開控制台(所有程序附件一命令提示符),輸入net start first就可以啟動first.sys了。反之,可以輸入net stop first來停止它的運行。 注意事項 第二步:先前建立的first目錄,這個到時候根據自己的條件自己建立就可以了。