网上提得最多的就是修改 WDKPATH\i386.inc文件中的
MSC_WARNING_LEVEL=$(MSC_WARNING_LEVEL) $(COMPILER_WX_SWITCH)
改为
MSC_WARNING_LEVEL=$(MSC_WARNING_LEVEL) $(COMPILER_WX_SWITCH)
MSC_WARNING_LEVEL=/W1
还有一个办法。。。其实大可不必去动inc文件。
当然也不是google里提到的在sources里面加,反正我是怎么加,加在哪个位置都不成功…
直接在项目中的makefile文件的最后一行加入
MSC_WARNING_LEVEL=/W1
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
这几天忙着把以前写的驱动转换到WDK的编译环境,遇到一个问题:
Free编译时:C2220: warning treated as error - no 'object' file generated
出现这个问题是因为代码不严谨导致了。具体情况我也懒得去分析了。大家可以去搜索.
对于懒人来说,解决方案是,修改当前驱动工程的sources文件,减低警告级别
代码如下
!if $(FREEBUILD)
MSC_WARNING_LEVEL=/W1
!else
MSC_WARNING_LEVEL=/W3
!endif
意思是:如果是Free编译时设置警告级别为1,否则默认为3
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
改变警告级别:
如果你遇到了以下错误,且不是代码的问题,则需要改变警告级别:
error C2220: warning treated as error
修改方法:
bin目录i386mk.inc的MSC_WARNING_LEVEL的值替换为 /W1
添加一行,如下:
MSC_WARNING_LEVEL=$(MSC_WARNING_LEVEL) $(COMPILER_WX_SWITCH)
MSC_WARNING_LEVEL= /W1