编译错误(WDK).warning treated as error - no ‘object’ file generated

ZC:我的解决方式:

直接在项目中的makefile文件的最后一行加入
MSC_WARNING_LEVEL=/W1

1、参考网页:error C2220_ warning treated as error - no object file generated的处理方法 - CSDN博客.html(https://blog.csdn.net/swanabin/article/details/14448409

2、网页内容 复制:

网上搜索而来,保存

其实就是关掉编译选项的问题…

网上提得最多的就是修改 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

3、

4、

5、

猜你喜欢

转载自www.cnblogs.com/DriverSkill/p/9020215.html