驱动编译错误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