Win7 vs2017 WDK 1803 1809 驅動開發 出錯 KMDF

1、編譯出錯,數組

1. 包含頭文件出錯測試

解決方案:spa

須要下載1803 的wdk  最新的1809會出一堆錯誤.net

安裝程序顯示是10.0.17134.1安裝完成後是10.0.17134.03d

2. Inf2Cat Double click to seeorm

項目--》屬性--》Info2Cat--》Run Inf2Cat  屬性 是 - 置空blog

3. Error:不能將"char*"類型的值分配到"LPSTR"類型的實體 或者 "char*"類型的實參與"LPCWSTR"類型的形參不兼容get

 定義一個字符數組  char msg[] = "Monitoring stopped.";it

 

2、配置測試機出錯(ConfigUration Progress)io

ERROR: Task "Installing VC Redist (x64)" failed to complete successfully

Computer configuration log file://C:/Users/01/AppData/Roaming/Microsoft/WDKTestInfrastructure/ProvisioningLogs/Driver%20Test%20Computer%20Configuration%2020181009194105544.log

failed to complete successfully

解決方案:

Win7Sp1

 

3、解決VS 編譯 typedef void * POINTER_64 PVOID64錯誤

問題原由分析:

打開winnt.h文件,發現問題就是在winnt.h頭文件中無POINTER_64的定義形成的。搜索vc下的頭文件,發如今basetsd.h頭文件中有POINTER_64的定義,而在winnt.h頭文件中也包含了該頭文件。該問題是頭文件搜索順序引發的,因爲DX SDK的頭文件搜索順序在Platform SDK以前。而在DX SDK中也有basetsd.h頭文件,而該文件無POINTER_64的定義,所以編譯通不過。


解決方案:

Solution1:

調整IDE中頭文件目錄路徑順序,將Platform SDK頭文件目錄放在DX SDK頭文件目錄前。(有效

Solution 2.
typedef void *PVOID;
typedef void * POINTER_64 PVOID64;
在它以前加下:
#define POINTER_64 __ptr64

Solution 3.
typedef void *PVOID;
typedef void * POINTER_64;
typedef void * PVOID64;

4、沒法打開預編譯頭文件:「Release\xxx.pch」: No such file or directory

打開屬性-》C/C++ 將【建立/使用編譯頭】改成「不使用編譯頭」,或者改爲 「建立預編譯頭(/Yc)」, 而後編譯就經過了。

 

5、語法錯誤: 標識符 「LPDIRECT3D」

緣由:本人將 d3d.h 複製到了編譯包含頭文件目錄(C:\Program Files (x86)\Windows Kits\10\Include\10.0.17134.0\um)而後又引用了本身的 Include目錄

相關文章
相關標籤/搜索