驱动编译错误C2220解决方案

驱动编译错误C2220解决方案

编译驱动时出现:

error C2220: warning treated as error - no ‘object’file generated

原因是警告级别过高,需要修改警告级别。方法如下:

方法一:在inc文件中修改警告级别

1.找到WinDDK目录下的i386mk.inc以及amd64mk.inc,例如:C:\WinDDK\7600.16385.0\bin 2.在其中查找:

MSC_WARNING_LEVEL=$(MSC_WARNING_LEVEL) $(COMPILER_WX_SWITCH) 

3.找到后,在其下添加以下一行:

MSC_WARNING_LEVEL= /W1

MSC_WARNING_LEVEL=$(MSC_WARNING_LEVEL) $(COMPILER_WX_SWITCH)
改为
MSC_WARNING_LEVEL=$(MSC_WARNING_LEVEL) $(COMPILER_WX_SWITCH)
MSC_WARNING_LEVEL=/W1   

方法二:在sources文件中修改警告级别(未实现)

修改当前驱动工程的sources文件,减低警告级别,代码如下:

!if $(FREEBUILD)
MSC_WARNING_LEVEL=/W1
!else
MSC_WARNING_LEVEL=/W3
!endif

意思是:如果是Free编译时设置警告级别为1,否则默认为3