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

时间:2023-03-08 22:23:36

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

BUILD: [00:0000002476:PROGC ] BuildingCOMPILE Pass in F:\WINCE600\PLATFORM\CWIMX515\src\SOC\COMMON_FSL_V2\MS\USBFN\CLASS\cdc\directory.

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

BUILD: [01:0000002489:ERRORE]F:\WINCE600\public\common\oak\inc\CMthread.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;