从WINCE Automotive5.5中移植代码到WINCE6出现很多warning treated as error的错误,这是将警告级别设置得过高导致的错误。在网上查找了很多方法,但是都没有作用,现将各种方法记录下来,或许以后会用到。
1)修改WDKPATH/i386.inc,将MSC_WARNING_LEVEL = $(MSC_WARNING_LEVEL)$(COMPILER_WX_SWITCH)后加上一行MSC_WARNING_LEVEL = /W1。(但是没有找到该文件)
2)修改bin目录i386mk.inc,将MSC_WARNING_LEVEL替换为/W1,同时添加一行MSC_WARNING_LEVEL = $(MSC_WARNING_LEVEL)$(COMPILER_WX_SWITCH)。(i386mk.inc没有找到,或许不是WINCE中的,先记下)
3)右键击编译项目->选属性->General选项卡中选warning level,将其由level3改为None。(BSP项目中不存在该选项,但是在应用程序工程中有用)
4)项目makefile最后一行加MSC_WARNING_LEVEL = /W1。
5)public/common/source.cmn中去掉WARNISERROR = 1,然后在build options中把KITL相关的设置去掉再sysgen。
6)source文件中加WARNLEVEL = 0。
4)~6)都试过,没有作用,只有一个个将warning修改正确,但是实在是太多了,改的太痛苦,希望有更好的办法。