PB5.0 编译出错:error C2220: 和接着 warning C4005: 'ZONE_INIT' : macro redefinition
平台:PB5.0
做一个内核时候,在build阶段出现一个错误,具体如下:
BUILD: [01:0000003605:INFO ] makefile.def: Including D:\WINCE500\public\common\oak\misc\sources.ReleaseType_PLATFORM
BUILD: [01:0000003606:PROGC ] Compiling .\usbser.cpp
BUILD: [01:0000003607:INFO ] cl -nologo -Foobj\ARMV4I\debug\usbser.obj -c -IARM\ -I. -I..\CLIENTCMN -ID:\WINCE500\public\common\ddk\inc -ID:\WINCE500\public\common\oak\inc -ID:\WINCE500\public\common\oak\inc -ID:\WINCE500\public\common\sdk\inc -ID:\WINCE500\public\common\ddk\inc -ID:\WINCE500\sdk\CE\inc -I.\Resource\0804 -Od -GF -Zi -FdD:\WINCE500\platform\smdk2442\target\ARMV4I\debug\usbser.pdb -DUNICODE -D_UNICODE -DUNDER_CE=500 -D_WIN32_WCE=500 -DWINCEOEM -DWINCEINTERNAL -DWIN32 -DSTRICT -DARM -DARMV4I -D_ARM_ -DDEBUG=1 -DINTERNATIONAL -DL0804 -DINTLMSG_CODEPAGE=1252 -WX -W3 -QRarch4T -DTHUMBSUPPORT -QRinterwork-return D:\WINCE500\public\common\oak\drivers\usb\class\usbser\.\usbser.cpp
BUILD: [01:0000003608:INFO ] usbser.cpp
[color=#FF0000]BUILD: [01:0000003609:ERRORE] d:\WINCE500[color=#FF99CC]\PUBLIC\COMMON\OAK\DRIVERS\USB\CLASS\USBSER\usbser.h(38) : error C2220: warning treated as error - no object file generated
BUILD: [01:0000003610:WARNN ] d:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\USB\CLASS\USBSER\usbser.h(38) : warning C4005: 'ZONE_INIT' : macro redefinition
BUILD: [01:0000003611:INFO ] d:\WINCE500\PUBLIC\COMMON\OAK\INC\serdbg.h(38) : see previous definition of 'ZONE_INIT'
BUILD: [01:0000003612:WARNN ] d:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\USB\CLASS\USBSER\usbser.h(39) : warning C4005: 'ZONE_READ' : macro redefinition
BUILD: [01:0000003613:INFO ] d:\WINCE500\PUBLIC\COMMON\OAK\INC\serdbg.h(40) : see previous definition of 'ZONE_READ'
BUILD: [01:0000003614:WARNN ] d:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\USB\CLASS\USBSER\usbser.h(40) : warning C4005: 'ZONE_WRITE' : macro redefinition
BUILD: [01:0000003615:INFO ] d:\WINCE500\PUBLIC\COMMON\OAK\INC\serdbg.h(41) : see previous definition of 'ZONE_WRITE'
BUILD: [01:0000003616:WARNN ] d:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\USB\CLASS\USBSER\usbser.h(41) : warning C4005: 'ZONE_FLOW' : macro redefinition
BUILD: [01:0000003617:INFO ] d:\WINCE500\PUBLIC\COMMON\OAK\INC\serdbg.h(47) : see previous definition of 'ZONE_FLOW'[/color]BUILD: [01:0000003618:PROGC ] Compiling .\userdev.cpp[/color]
BUILD: [01:0000003619:INFO ] cl -nologo -Foobj\ARMV4I\debug\userdev.obj -c -IARM\ -I. -I..\CLIENTCMN -ID:\WINCE500\public\common\ddk\inc -ID:\WINCE500\public\common\oak\inc -ID:\WINCE500\public\common\oak\inc -ID:\WINCE500\public\common\sdk\inc -ID:\WINCE500\public\common\ddk\inc -ID:\WINCE500\sdk\CE\inc -I.\Resource\0804 -Od -GF -Zi -FdD:\WINCE500\platform\smdk2442\target\ARMV4I\debug\usbser.pdb -DUNICODE -D_UNICODE -DUNDER_CE=500 -D_WIN32_WCE=500 -DWINCEOEM -DWINCEINTERNAL -DWIN32 -DSTRICT -DARM -DARMV4I -D_ARM_ -DDEBUG=1 -DINTERNATIONAL -DL0804 -DINTLMSG_CODEPAGE=1252 -WX -W3 -QRarch4T -DTHUMBSUPPORT -QRinterwork-return D:\WINCE500\public\common\oak\drivers\usb\class\usbser\.\userdev.cpp
BUILD: [01:0000003620:INFO ] userdev.cpp
BUILD: [01:0000003621:ERRORE] d:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\USB\CLASS\USBSER\usbser.h(38) : error C2220: warning treated as error - no object file generated
BUILD: [01:0000003622:WARNN ] d:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\USB\CLASS\USBSER\usbser.h(38) : warning C4005: 'ZONE_INIT' : macro redefinition
BUILD: [01:0000003623:INFO ] d:\WINCE500\PUBLIC\COMMON\OAK\INC\serdbg.h(38) : see previous definition of 'ZONE_INIT'
BUILD: [01:0000003624:WARNN ] d:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\USB\CLASS\USBSER\usbser.h(39) : warning C4005: 'ZONE_READ' : macro redefinition
BUILD: [01:0000003625:INFO ] d:\WINCE500\PUBLIC\COMMON\OAK\INC\serdbg.h(40) : see previous definition of 'ZONE_READ'
BUILD: [01:0000003626:WARNN ] d:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\USB\CLASS\USBSER\usbser.h(40) : warning C4005: 'ZONE_WRITE' : macro redefinition
BUILD: [01:0000003627:INFO ] d:\WINCE500\PUBLIC\COMMON\OAK\INC\serdbg.h(41) : see previous definition of 'ZONE_WRITE'
BUILD: [01:0000003628:WARNN ] d:\WINCE500\PUBLIC\COMMON\OAK\DRIVERS\USB\CLASS\USBSER\usbser.h(41) : warning C4005: 'ZONE_FLOW' : macro redefinition
BUILD: [01:0000003629:INFO ] d:\WINCE500\PUBLIC\COMMON\OAK\INC\serdbg.h(47) : see previous definition of 'ZONE_FLOW'
BUILD: [01:0000003630:PROGC ] Linking D:\WINCE500\platform\smdk2442\lib\ARMV4I\debug\usbser.lib
[解决办法]
重定义,先找到是哪里定义的,然后看看是否重复包含了
[解决办法]
应该是你在驱动中重复定义了你错误的那个宏。