WINCE6.0 error C2220: warning treated as error问题解决

今天在编译IMX515的BSP的时候,发现下面的编译错误问题:

BUILD: [00:0000002476:PROGC ] BuildingCOMPILE Pass in F:WINCE600PLATFORMCWIMX515srcSOCCOMMON_FSL_V2MSUSBFNCLASScdcdirectory.

BUILD: [01:0000002486:PROGC ] Compiling.usbfncdcdrv.cpp

BUILD: [01:0000002489:ERRORE]F:WINCE600publiccommonoakincCMthread.h(118) : error C2220: warningtreated as error - no 'object' file generated

 

warning treated as error 意思是将警告当成错误,这是编译选项的问题,将警告级别设置得高导致的错误。但很奇怪,之前编译这个BSP包的时候并没有这个错误。

 

下面总结几种解决此为的办法:

⑴修改sources文件

在对应的sources文件增加WARNLEVEL,其中:

WARNLEVEL=0/1/2/3/5/6---都是OK的

WARNLEVEL=4---编译同样的错误

其他值没有验证。

 

也在sources文件中增加WARNISERROR,其中:

WARNISERROR=0/2/3/4/5/6---都是OK的

WARNISERROR=1---依旧编译出错

其他值没有验证

 

⑵修改源代码

双击ERRORE的地方,指向下面的代码

m_dwExitCode = -1;其中m_dwExitCode是DWORD类型的。

把上面的代码改为下面的代码就OK:

m_dwExitCode = (DWORD)-1;