vs驅動項目修改成wdk7600項目

vs版本2015
wdk版本7600.16385.1
原因是因爲vs不可能安裝所有系統wdk,同時安裝低版本就配置太麻煩。主要原因是服務器不可能給你安裝個vs讓你編譯的。
vs生成項目後,或者拿別人的vs項目後。進入代碼主目錄。編寫makefile makefile.inc(不是必須文件)。和sources
vs驅動項目修改成wdk7600項目
makefile

!INCLUDE $(NTMAKEENV)\makefile.def

makefile.inc這邊這樣寫的


MSC_WARNING_LEVEL=$(MSC_WARNING_LEVEL) $(COMPILER_WX_SWITCH)
MSC_WARNING_LEVEL= /W1
_LNG=$(LANGUAGE)
_INX=.
STAMP=stampinf -f $@ -a $(_BUILDARCH) -k $(KMDF_VERSION_MAJOR).$(KMDF_VERSION_MINOR)

$(OBJ_PATH)\$(O)\$(INF_NAME).inf: $(_INX)\$(INF_NAME).inx 
    copy $(_INX)\$(@B).inx $@
    $(STAMP)

主要文件
sources
前面是級別主要是四句話:
TARGETNAME=GetPciInfoDriver 驅動生成名稱
TARGETPATH=OBJ
TARGETTYPE=DRIVER 生成的是驅動
SOURCES=entry.c 所有c文件

!if $(FREEBUILD)
MSC_WARNING_LEVEL=/W1
!else
MSC_WARNING_LEVEL=/W3
!endif
TARGETNAME=GetPciInfoDriver   
TARGETPATH=OBJ
TARGETTYPE=DRIVER 
SOURCES=entry.c

然後打開編譯環境去SOURCES目錄輸入build
然而發現上百 或者上千的錯誤(這裏vs是能過的)
vs驅動項目修改成wdk7600項目
主要原因是因爲老版本的編譯器。函數的變量聲名等必須要在最前面例如:
報錯:

test(){
 a();
 int i=0;
}

修改:

test(){
int i;
 a();
 i=0;
}

然後還有一個問題是結構體聲名時沒有初始化問題。要聲明就後面加上={0};初始化,我編譯時這樣就行了。
vs配置wdk7600參考:
https://www.cnblogs.com/iBinary/p/8290595.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章