CE6.0编译出错问题

时间:2023-01-25 14:51:38
我是将BSP包中的LCD显示部分文件全部拷到另一个目录下,然后在那个目录下的一个文件里面包含了个头文件(这个头文件在那个LCD显示文件中有定义的),也更改了source文件路径的,然后编译出现一大堆错误。sysgen了也不行的。请问是什么原因? 

27 个解决方案

#1


编译出现如下错误,编译出错的头文件文件是在public文件夹下的。

BUILD: [01:0000000332:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(88) : error C2059: syntax error : 'constant'
BUILD: [01:0000000333:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(89) : error C2059: syntax error : 'constant'
BUILD: [01:0000000334:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(93) : error C2059: syntax error : 'constant'
BUILD: [01:0000000335:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(94) : 
BUILD: [01:0000000337:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(99) : error C2059: syntax error : 'constant'
BUILD: [01:0000000338:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(100) : error C2059: syntax error : 'constant'
BUILD: [01:0000000339:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(101) : error C2059: syntax error : 'constant'
BUILD: [01:0000000340:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(102) : error C2059: syntax error : 'constant'
BUILD: [01:0000000341:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(103) : error C2059: syntax error : '}'
BUILD: [01:0000000342:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(190) : error C2061: syntax error : identifier 'POINTFIX'
BUILD: [01:0000000343:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(191) : error C2059: syntax error : '}'
BUILD: [01:0000000344:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(418) : error C2143: syntax error : missing ')' before '*'
BUILD: [01:0000000345:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(418) : error C2081: 'PATHDATA' : name in formal parameter list illegal
BUILD: [01:0000000346:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(418) : error C2143: syntax error : missing '{' before '*'
BUILD: [01:0000000347:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(418) : error C2059: syntax error : ')'
BUILD: [01:0000000348:WARNN ] F:\WINCE600\public\common\oak\inc\winddi.h(418) : warning C4431: missing type specifier - int assumed. Note: C no longer supports default-int
BUILD: [01:0000000349:WARNN ] F:\WINCE600\public\common\oak\inc\winddi.h(418) : warning C4218: nonstandard extension used : must specify at least a storage class or a type
BUILD: [01:0000000350:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(418) : error C2146: syntax error : missing ')' before identifier 'prectfx'
BUILD: [01:0000000351:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(418) : error C2081: 'PRECTFX' : name in formal parameter list illegal
BUILD: [01:0000000352:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(418) : error C2061: syntax error : identifier 'prectfx'
BUILD: [01:0000000353:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(418) : error C2059: syntax error : ';'
BUILD: [01:0000000354:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(418) : error C2059: syntax error : ')'
BUILD: [01:0000000355:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2143: syntax error : missing ')' before '*'
BUILD: [01:0000000356:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2081: 'PATHDATA' : name in formal parameter list illegal
BUILD: [01:0000000357:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2143: syntax error : missing '{' before '*'
BUILD: [01:0000000358:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2059: syntax error : ')'
BUILD: [01:0000000359:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2059: syntax error : ';'
BUILD: [01:0000000360:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(965) : error C2081: 'PRECTFX' : name in formal parameter list illegal
BUILD: [01:0000000361:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(983) : error C2061: syntax error : identifier 'PFN_PATHOBJ_bEnum'
BUILD: [01:0000000362:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(993) : error C2059: syntax error : '}'
BUILD: [01:0000000363:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2146: syntax error : missing ')' before identifier 'pCallbacks'
BUILD: [01:0000000364:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2081: 'PENGCALLBACKS' : name in formal parameter list illegal
BUILD: [01:0000000365:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2061: syntax error : identifier 'pCallbacks'
BUILD: [01:0000000366:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2059: syntax error : ';'
BUILD: [01:0000000367:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1005) : error C2059: syntax error : ')'
BUILD: [01:0000000368:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2146: syntax error : missing ')' before identifier 'pCallbacks'
BUILD: [01:0000000369:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2081: 'PENGCALLBACKS' : name in formal parameter list illegal
BUILD: [01:0000000370:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2061: syntax error : identifier 'pCallbacks'
BUILD: [01:0000000371:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2059: syntax error : ';'
BUILD: [01:0000000372:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2059: syntax error : ')'
BUILD: [01:0000000373:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(107) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000374:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(108) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000375:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(109) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000376:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(110) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000377:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(111) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000378:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(112) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000379:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(113) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000380:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(114) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000381:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(115) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000382:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(116) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000383:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(117) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000384:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(118) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000385:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(119) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000386:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(120) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000387:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(121) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000388:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(122) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000389:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(123) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000390:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(134) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000391:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(135) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000392:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(136) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000393:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(137) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000394:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(138) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000395:ERRORE] F:\WINCE600\public\common\oak\inc\genblt.h(169) : error C2143: syntax error : missing ')' before '*'
BUILD: [01:0000000396:ERRORE] F:\WINCE600\public\common\oak\inc\genblt.h(169) : error C2143: syntax error : missing '{' before '*'
BUILD: [01:0000000397:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(169) : warning C4431: missing type specifier - int assumed. Note: C no longer supports default-int
BUILD: [01:0000000398:ERRORE] F:\WINCE600\public\common\oak\inc\genblt.h(169) : error C2059: syntax error : 'type'
BUILD: [01:0000000399:ERRORE] F:\WINCE600\public\common\oak\inc\genblt.h(169) : error C2059: syntax error : ')'
BUILD: [01:0000000400:ERRORE] F:\WINCE600\public\common\oak\inc\genblt.h(174) : error C2061: syntax error : identifier 'GenBltSignature'
BUILD: [01:0000000401:ERRORE] F:\WINCE600\public\common\oak\inc\genblt.h(177) : error C2059: syntax error : '}'
BUILD: [01:0000000402:ERRORE] F:\WINCE600\public\common\oak\inc\genblt.h(181) : error C2061: syntax error : identifier 'GenBltSignature'

#2


引用楼主 winarmlinux 的回复:
我是将BSP包中的LCD显示部分文件全部拷到另一个目录下,然后在那个目录下的一个文件里面包含了个头文件(这个头文件在那个LCD显示文件中有定义的),也更改了source文件路径的,然后编译出现一大堆错误。sysgen了也不行的。请问是什么原因?


假设你在A.cpp里加上了#include <B.h>, 把"#include<B.h>"这句话往后挪几行
如果还有错,把build.log的内容贴上来

#3


我在main函数中这样定义是没有问题的:
#include "bsp.h"
#include <ethdbg.h>
#pragma warning(push)
#pragma warning(disable: 4115)
#include <fmd.h>
#pragma warning(pop)
#include "loader.h"
#include "sdfmd.h"

#include "bitmap.h" 

#include "pimm.h"
但是要是叫我再加了一个文件,编译就出错了的:
#include "bsp.h"
#include <ethdbg.h>
#pragma warning(push)
#pragma warning(disable: 4115)
#include <fmd.h>
#pragma warning(pop)
#include "loader.h"
#include "sdfmd.h"

#include "bitmap.h" 

#include "pimm.h"

#include "winddi.h"
 这样就铸错了的。pimm.h和winddi.h是在同一个目录\WINCE600\PUBLIC\COMMON\OAK\INC下面,请问为什么?

#4


错误时这样的:
BUILD: [01:0000000281:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(88) : error C2059: syntax error : 'constant'
BUILD: [01:0000000282:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(89) : error C2059: syntax error : 'constant'
BUILD: [01:0000000283:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(93) : error C2059: syntax error : 'constant'
BUILD: [01:0000000284:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(94) : error C2059: syntax error : 'constant'
BUILD: [01:0000000285:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(95) : error C2059: syntax error : '}'
BUILD: [01:0000000286:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(99) : error C2059: syntax error : 'constant'
BUILD: [01:0000000287:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(100) : error C2059: syntax error : 'constant'
BUILD: [01:0000000288:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(101) : error C2059: syntax error : 'constant'
BUILD: [01:0000000289:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(102) : error C2059: syntax error : 'constant'
BUILD: [01:0000000290:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(103) : error C2059: syntax error : '}'
BUILD: [01:0000000291:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(190) : error C2061: syntax error : identifier 'POINTFIX'
BUILD: [01:0000000292:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(191) : error C2059: syntax error : '}'
BUILD: [01:0000000293:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2143: syntax error : missing ')' before '*'
BUILD: [01:0000000294:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2081: 'PATHDATA' : name in formal parameter list illegal
BUILD: [01:0000000295:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2143: syntax error : missing '{' before '*'
BUILD: [01:0000000296:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2059: syntax error : ')'
BUILD: [01:0000000297:WARNN ] F:\WINCE600\public\common\oak\inc\winddi.h(420) : warning C4431: missing type specifier - int assumed. Note: C no longer supports default-int
BUILD: [01:0000000298:WARNN ] F:\WINCE600\public\common\oak\inc\winddi.h(420) : warning C4218: nonstandard extension used : must specify at least a storage class or a type
BUILD: [01:0000000299:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2146: syntax error : missing ')' before identifier 'prectfx'
BUILD: [01:0000000300:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2081: 'PRECTFX' : name in formal parameter list illegal
BUILD: [01:0000000301:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2061: syntax error : identifier 'prectfx'
BUILD: [01:0000000302:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2059: syntax error : ';'
BUILD: [01:0000000303:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2059: syntax error : ')'
BUILD: [01:0000000304:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2143: syntax error : missing ')' before '*'
BUILD: [01:0000000305:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2081: 'PATHDATA' : name in formal parameter list illegal
BUILD: [01:0000000306:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2143: syntax error : missing '{' before '*'
BUILD: [01:0000000307:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2059: syntax error : ')'
BUILD: [01:0000000308:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2059: syntax error : ';'
BUILD: [01:0000000309:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(965) : error C2081: 'PRECTFX' : name in formal parameter list illegal
BUILD: [01:0000000310:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(983) : error C2061: syntax error : identifier 'PFN_PATHOBJ_bEnum'
BUILD: [01:0000000311:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(985) : error C2365: 'XLATEOBJ_cGetPalette' : redefinition; previous definition was 'function'
BUILD: [01:0000000313:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(986) : error C2365: 'EngCreateDeviceSurface' : redefinition; previous definition was 'function'
BUILD: [01:0000000315:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(987) : error C2365: 'EngDeleteSurface' : redefinition; previous definition was 'function'
BUILD: [01:0000000317:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(988) : error C2365: 'EngCreateDeviceBitmap' : redefinition; previous definition was 'function'
BUILD: [01:0000000319:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(989) : error C2365: 'EngCreatePalette' : redefinition; previous definition was 'function'
BUILD: [01:0000000321:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(990) : error C2365: 'EngGetPaletteFromPool' : redefinition; previous definition was 'function'
BUILD: [01:0000000323:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(991) : error C2365: 'EngAddPaletteToPool' : redefinition; previous definition was 'function'
BUILD: [01:0000000325:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(992) : error C2365: 'EngReleasePooledPalette' : redefinition; previous definition was 'function'
BUILD: [01:0000000327:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(993) : error C2059: syntax error : '}'
BUILD: [01:0000000328:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2146: syntax error : missing ')' before identifier 'pCallbacks'
BUILD: [01:0000000329:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2081: 'PENGCALLBACKS' : name in formal parameter list illegal
BUILD: [01:0000000330:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2061: syntax error : identifier 'pCallbacks'
BUILD: [01:0000000331:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2059: syntax error : ';'
BUILD: [01:0000000332:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1005) : error C2059: syntax error : ')'
BUILD: [01:0000000333:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2146: syntax error : missing ')' before identifier 'pCallbacks'
BUILD: [01:0000000334:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2081: 'PENGCALLBACKS' : name in formal parameter list illegal
BUILD: [01:0000000335:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2061: syntax error : identifier 'pCallbacks'
BUILD: [01:0000000336:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2059: syntax error : ';'
BUILD: [01:0000000337:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2059: syntax error : ')'

#5


在#include "winddi.h"之前#include "windows.h" ?

#6


有windows.h的,和那个有冲突么?

#7


顶起,学习一下。

#8


引用 6 楼 winarmlinux 的回复:
有windows.h的,和那个有冲突么?


编译完后,在你的LCD目录下有个build.log文件,请把这个文件的内容贴上来

#9


我现在在bootloader中的common文件夹中的main文件中定义一个头文件#include "precomp.h",并在common文件夹下的source中定义了precomp.h文件所在的路径。胆识编译就是提示找不到precomp.h文件,编译提示错误如下:
BUILD: [01:0000000278:PROGC ] Compiling .\main.c
BUILD: [01:0000000281:ERRORE] F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6 \SRC\BOOTLOADER\COMMON\.\main.c(25) : fatal error C1083: Cannot open include file: 'precomp.h': No such file or directory
BUILD: [01:0000000282:PROGC ] Compiling .\flash.c
BUILD: [01:0000000285:PROGC ] Compiling .\utils.c

#10


从报错信息上来看winddi.h中的constant关键词没有被识别出来,建议看看winddi.h中有引用什么别的头文件吗?或是这个文件需要别的头文件来支持?建议不要在public下改动文件,牵扯太多系统的函数。

#11


我没改public文件夹中的内容的。现在主要是我想调用一个总的头文件precomp.h,这个文件中包含很多的头文件,那我要怎么做才能达到解决这个头文件在别的地方调用不会出错呢?

#12


这个错误很明显了。肯定是你的sources没写对。你的precomp.h在哪?sources文件怎么写的?

另外,这个错误和这个讨论最开始的错误有关系吗?

#13


有关系的,只是写法不一样导致的。
precomp.h的路径是:F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\SRC\DRIVERS\IPU\DISPLAY\COMMON

precomp.h中的内容是:
#pragma warning(push)
#pragma warning(disable: 4201)

#include <windows.h>
#include <types.h>
#include <winddi.h>
#include <emul.h>
#include <ceddk.h>

#include <ddkmacro.h>
#include <ddkreg.h>

#include <ddrawi.h>
#include <ddgpe.h>
#include <ddhfuncs.h>
#include <strsafe.h>


source内容是:
!if 0
Copyright (C) 2006-2008 Freescale Semiconductor, Inc. All Rights Reserved.
THIS SOURCE CODE, AND ITS USE AND DISTRIBUTION, IS SUBJECT TO THE TERMS
AND CONDITIONS OF THE APPLICABLE LICENSE AGREEMENT
!endif

TARGETNAME=bootcmn
TARGETTYPE=LIBRARY
RELEASETYPE=PLATFORM
NOMIPS16CODE=1

INCLUDES= \
  $(INCLUDES); \
  $(_PLATFORMROOT)\common\src\soc\$(_COMMONSOCDIR)\boot\fmd\sdmmc; \
  $(_PLATFORMROOT)\common\src\soc\$(_COMMONSOCDIR)\boot\fmd\nand; \
  $(_PLATFORMROOT)\common\src\soc\$(_COMMONSOCDIR)\ipu\inc; \
  $(_PLATFORMROOT)\SRC\DRIVERS\IPU\DISPLAY\COMMON; \

CDEFINES=$(CDEFINES) -DBOOTLOADER

LDEFINES=-subsystem:native /DEBUG /DEBUGTYPE:CV /FIXED:NO

SOURCES=\
    main.c \
    flash.c \
    utils.c \
    nand.c \
    nor.c \
    esdhc.c \
    ether.c \
    nfc_boot.cpp

ARM_SOURCES=\
    startup.s

#14


等半个月我也来中整CE6.0,呵呵……

#15


sources里
$(_PLATFORMROOT)\SRC\DRIVERS\IPU\DISPLAY\COMMON; \
改成
$ (_TARGETPLATROOT)\SRC\DRIVERS\IPU\DISPLAY\COMMON; \

#16


改完编译后出现很多错误,这次没出现找不到文件,就是上面我写的哪些错误:
BUILD: [01:0000000281:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(88) : error C2059: syntax error : 'constant'
BUILD: [01:0000000282:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(89) : error C2059: syntax error : 'constant'
BUILD: [01:0000000283:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(93) : error C2059: syntax error : 'constant'
BUILD: [01:0000000284:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(94) : error C2059: syntax error : 'constant'
BUILD: [01:0000000285:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(95) : error C2059: syntax error : '}'
BUILD: [01:0000000286:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(99) : error C2059: syntax error : 'constant'
BUILD: [01:0000000287:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(100) : error C2059: syntax error : 'constant'
BUILD: [01:0000000288:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(101) : error C2059: syntax error : 'constant'
BUILD: [01:0000000289:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(102) : error C2059: syntax error : 'constant'
BUILD: [01:0000000290:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(103) : error C2059: syntax error : '}'
BUILD: [01:0000000291:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(190) : error C2061: syntax error : identifier 'POINTFIX'
BUILD: [01:0000000292:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(191) : error C2059: syntax error : '}'
BUILD: [01:0000000293:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2143: syntax error : missing ')' before '*'
BUILD: [01:0000000294:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2081: 'PATHDATA' : name in formal parameter list illegal
BUILD: [01:0000000295:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2143: syntax error : missing '{' before '*'
BUILD: [01:0000000296:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2059: syntax error : ')'
BUILD: [01:0000000297:WARNN ] F:\WINCE600\public\common\oak\inc\winddi.h(420) : warning C4431: missing type specifier - int assumed. Note: C no longer supports default-int
BUILD: [01:0000000298:WARNN ] F:\WINCE600\public\common\oak\inc\winddi.h(420) : warning C4218: nonstandard extension used : must specify at least a storage class or a type
BUILD: [01:0000000299:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2146: syntax error : missing ')' before identifier 'prectfx'
BUILD: [01:0000000300:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2081: 'PRECTFX' : name in formal parameter list illegal
BUILD: [01:0000000301:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2061: syntax error : identifier 'prectfx'
BUILD: [01:0000000302:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2059: syntax error : ';'
BUILD: [01:0000000303:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2059: syntax error : ')'
BUILD: [01:0000000304:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2143: syntax error : missing ')' before '*'
BUILD: [01:0000000305:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2081: 'PATHDATA' : name in formal parameter list illegal
BUILD: [01:0000000306:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2143: syntax error : missing '{' before '*'
BUILD: [01:0000000307:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2059: syntax error : ')'
BUILD: [01:0000000308:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2059: syntax error : ';'
BUILD: [01:0000000309:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(965) : error C2081: 'PRECTFX' : name in formal parameter list illegal
BUILD: [01:0000000310:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(983) : error C2061: syntax error : identifier 'PFN_PATHOBJ_bEnum'
BUILD: [01:0000000311:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(985) : error C2365: 'XLATEOBJ_cGetPalette' : redefinition; previous definition was 'function'
BUILD: [01:0000000313:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(986) : error C2365: 'EngCreateDeviceSurface' : redefinition; previous definition was 'function'
BUILD: [01:0000000315:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(987) : error C2365: 'EngDeleteSurface' : redefinition; previous definition was 'function'
BUILD: [01:0000000317:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(988) : error C2365: 'EngCreateDeviceBitmap' : redefinition; previous definition was 'function'
BUILD: [01:0000000319:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(989) : error C2365: 'EngCreatePalette' : redefinition; previous definition was 'function'
BUILD: [01:0000000321:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(990) : error C2365: 'EngGetPaletteFromPool' : redefinition; previous definition was 'function'
BUILD: [01:0000000323:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(991) : error C2365: 'EngAddPaletteToPool' : redefinition; previous definition was 'function'
BUILD: [01:0000000325:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(992) : error C2365: 'EngReleasePooledPalette' : redefinition; previous definition was 'function'
BUILD: [01:0000000327:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(993) : error C2059: syntax error : '}'
BUILD: [01:0000000328:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2146: syntax error : missing ')' before identifier 'pCallbacks'
BUILD: [01:0000000329:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2081: 'PENGCALLBACKS' : name in formal parameter list illegal
BUILD: [01:0000000330:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2061: syntax error : identifier 'pCallbacks'
BUILD: [01:0000000331:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2059: syntax error : ';'
BUILD: [01:0000000332:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1005) : error C2059: syntax error : ')'
BUILD: [01:0000000333:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2146: syntax error : missing ')' before identifier 'pCallbacks'
BUILD: [01:0000000334:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2081: 'PENGCALLBACKS' : name in formal parameter list illegal
BUILD: [01:0000000335:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2061: syntax error : identifier 'pCallbacks'
BUILD: [01:0000000336:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2059: syntax error : ';'

#17


引用 8 楼 xdkui 的回复:
引用 6 楼 winarmlinux 的回复:
有windows.h的,和那个有冲突么?


编译完后,在你的LCD目录下有个build.log文件,请把这个文件的内容贴上来


编译完后,在你的LCD目录下有个build.log文件,请把这个文件的内容贴上来

#18


觉得这种错误一般都是 source文件中 INCLUDE 设置错误

#19


引用 15 楼 xdkui 的回复:
sources里
$(_PLATFORMROOT)\SRC\DRIVERS\IPU\DISPLAY\COMMON; \
改成
$(_TARGETPLATROOT)\SRC\DRIVERS\IPU\DISPLAY\COMMON; \


按那样改完后就出现很多错误的:
BUILD: [Thrd:Sequence:Type  ] Message
BUILD: [00:0000000000:PROGC ] Build started with parameters:
BUILD: [00:0000000001:PROGC ] Build started in directory: D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON
BUILD: [00:0000000002:PROGC ] Checking for D:\WINCE600\sdk\bin\i386\srccheck.exe.
BUILD: [00:0000000003:PROGC ] Running passes WCEFILES0, MIDL, MC, ASN, THUNK, PRECOMPHEADER, COMPILE, LIB, LINK, MANAGEDRESX, MANAGEDMOD, MANAGEDDLL, MANAGEDEXE, MANAGEDWIN for ARM.
BUILD: [00:0000000004:PROGC ] Loading database "D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\Build.dat".
BUILD: [00:0000000005:PROGC ] Done.
BUILD: [00:0000000006:PROGC ] Computing include file dependencies:
BUILD: [00:0000000007:PROGC ] Checking for SDK include directory: D:\WINCE600\sdk\CE\inc.
BUILD: [00:0000000008:PROGC ] Scan D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\
BUILD: [00:0000000009:PROGC ] Saving D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\Build.dat.
BUILD: [00:0000000010:INFO  ] Done.
BUILD: [00:0000000011:INFO  ] Will Build D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\main.c because target: obj\ARMV4I\retail\main.obj is missing.
BUILD: [00:0000000012:PROGC ] Building COMPILE Pass in D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\ directory.
BUILD: [00:0000000013:PROG  ] 'NMAKE.EXE TargetCompilePass  -i -c BUILDMSG=Stop.  BUILDROOT=D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6 NOLINK=1 NOPASS0=1'
BUILD: [01:0000000014:INFO  ] makefile.def: Including D:\WINCE600\public\common\oak\misc\Sources.default
BUILD: [01:0000000015:INFO  ] makefile.def: BUILDROOT is D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6
BUILD: [01:0000000016:INFO  ] makefile.def: Including D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\sources.cmn
BUILD: [01:0000000017:INFO  ] makefile.def: Including D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\sources
BUILD: [01:0000000018:INFO  ] makefile.def: Including D:\WINCE600\public\common\oak\misc\Sources.CE
BUILD: [01:0000000019:INFO  ] Directory: D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON
BUILD: [01:0000000020:INFO  ] TARGETNAME: bootcmn
BUILD: [01:0000000021:INFO  ] makefile.def: Including D:\WINCE600\public\common\oak\misc\sources.ReleaseType_PLATFORM
BUILD: [01:0000000022:PROGC ] Compiling .\main.c
BUILD: [01:0000000023:INFO  ] cl -nologo   /Gy -Foobj\ARMV4I\retail\main.obj -c -IARM\ -I. -ID:\WINCE600\platform\iMX35-3DS-PDK1_6\src\inc -ID:\WINCE600\platform\common\src\soc\common_fsl_v2_pdk1_6\inc -ID:\WINCE600\platform\common\src\soc\mx35_fsl_v2_pdk1_6\inc -ID:\WINCE600\platform\common\src\inc -ID:\WINCE600\platform\common\src\soc\common_fsl_v2_pdk1_6\boot\fmd\sdmmc -ID:\WINCE600\platform\common\src\soc\common_fsl_v2_pdk1_6\boot\fmd\nand -ID:\WINCE600\public\common\sdk\inc -ID:\WINCE600\public\common\oak\inc -ID:\WINCE600\public\common\ddk\inc -ID:\WINCE600\sdk\CE\inc -I.\Resource\0804 -Ox -Os -GF -Zi -FdD:\WINCE600\platform\iMX35-3DS-PDK1_6\lib\ARMV4I\retail\bootcmn.pdb -D_CRT_SECURE_NO_DEPRECATE -D_USE_32BIT_TIME_T -DUNICODE -D_UNICODE -DUNDER_CE=600 -D_WIN32_WCE=0x600 -DWINCEOEM -DWINCEINTERNAL -DWIN32 -DSTRICT -DARM -DARMV4I -D_ARM_ -DNDEBUG=1 -DCEDDK_USEDDKMACRO -DBSP_PLATFORM_MDK -DBOOTLOADER -DINTERNATIONAL -DINTLMSG_CODEPAGE=1252 -WX -QRimplicit-import- -Zi  -Zc:wchar_t- -Zc:forScope- -wd4867 -wd4430 -MT -U_MT -W4    /GR- -QRarch4T -DTHUMBSUPPORT -QRinterwork-return  /GS D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\.\main.c
BUILD: [01:0000000024:INFO  ] main.c
BUILD: [00:0000000025:INFO  ] Will Build D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\obj\ARMV4I\retail\main.obj because target: D:\WINCE600\platform\iMX35-3DS-PDK1_6\lib\ARMV4I\retail\bootcmn.lib is out of date.
BUILD: [00:0000000026:PROGC ] Building LIB Pass in D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\ directory.
BUILD: [00:0000000027:PROG  ] 'NMAKE.EXE TargetLibFiles  -i -c BUILDMSG=Stop.  BUILDROOT=D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6 LINKONLY=1 NOPASS0=1'
BUILD: [01:0000000028:INFO  ] makefile.def: Including D:\WINCE600\public\common\oak\misc\Sources.default
BUILD: [01:0000000029:INFO  ] makefile.def: BUILDROOT is D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6
BUILD: [01:0000000030:INFO  ] makefile.def: Including D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\sources.cmn
BUILD: [01:0000000031:INFO  ] makefile.def: Including D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\sources
BUILD: [01:0000000032:INFO  ] makefile.def: Including D:\WINCE600\public\common\oak\misc\Sources.CE
BUILD: [01:0000000033:INFO  ] Directory: D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON
BUILD: [01:0000000034:INFO  ] TARGETNAME: bootcmn
BUILD: [01:0000000035:INFO  ] makefile.def: Including D:\WINCE600\public\common\oak\misc\sources.ReleaseType_PLATFORM
BUILD: [01:0000000036:PROGC ] Linking D:\WINCE600\platform\iMX35-3DS-PDK1_6\lib\ARMV4I\retail\bootcmn.lib
BUILD: [01:0000000037:INFO  ]  link -lib -out:D:\WINCE600\platform\iMX35-3DS-PDK1_6\lib\ARMV4I\retail\bootcmn.lib -machine:thumb @C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\nm7E0.tmp
BUILD: [00:0000000038:PROGC ] Saving D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\Build.dat.
BUILD: [00:0000000039:INFO  ] Done.
BUILD: [00:0000000040:PROGC ] Done.
BUILD: [00:0000000041:PROGC ]                        Files  Warnings  Errors
BUILD: [00:0000000042:PROGC ] Midl                       0         0       0
BUILD: [00:0000000043:PROGC ] Message                    0         0       0
BUILD: [00:0000000044:PROGC ] Precomp Header             0         0       0
BUILD: [00:0000000045:PROGC ] Resource                   0         0       0
BUILD: [00:0000000046:PROGC ] MASM                       0         0       0
BUILD: [00:0000000047:PROGC ] SHASM                      0         0       0
BUILD: [00:0000000048:PROGC ] ARMASM                     0         0       0
BUILD: [00:0000000049:PROGC ] MIPSASM                    0         0       0
BUILD: [00:0000000050:PROGC ] C++                        0         0       0
BUILD: [00:0000000051:PROGC ] C                          1         0       0
BUILD: [00:0000000052:PROGC ] Static Libraries           1         0       0
BUILD: [00:0000000053:PROGC ] Exe's                      0         0       0
BUILD: [00:0000000054:PROGC ] Dll's                      0         0       0
BUILD: [00:0000000055:PROGC ] Preprocess deffile         0         0       0
BUILD: [00:0000000056:PROGC ] Resx                       0         0       0
BUILD: [00:0000000057:PROGC ] CSharp Compile             0         0       0
BUILD: [00:0000000058:PROGC ] Other                      0         0       0
BUILD: [00:0000000059:PROGC ] 
BUILD: [00:0000000060:PROGC ] Total                      2         0       0
BUILD: [00:0000000061:PROGC ] 
BUILD: [00:0000000062:PROGC ] 0 Warnings,  0 Errors
BUILD: [00:0000000063:PROGC ] GetSystemTimes (seconds): Idle: 0     Kernel: 1     User: 0    
BUILD: [00:0000000064:PROGC ] Elapsed  time  (seconds): 0    

#20


引用 15 楼 xdkui 的回复:
sources里
$(_PLATFORMROOT)\SRC\DRIVERS\IPU\DISPLAY\COMMON; \
改成
$(_TARGETPLATROOT)\SRC\DRIVERS\IPU\DISPLAY\COMMON; \


改完编译出现下面错误:
BUILD: [01:0000000281:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(88) : error C2059: syntax error : 'constant'
BUILD: [01:0000000282:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(89) : error C2059: syntax error : 'constant'
BUILD: [01:0000000283:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(93) : error C2059: syntax error : 'constant'
BUILD: [01:0000000284:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(94) : error C2059: syntax error : 'constant'
BUILD: [01:0000000285:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(95) : error C2059: syntax error : '}'
BUILD: [01:0000000286:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(99) : error C2059: syntax error : 'constant'
BUILD: [01:0000000287:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(100) : error C2059: syntax error : 'constant'
BUILD: [01:0000000288:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(101) : error C2059: syntax error : 'constant'
BUILD: [01:0000000289:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(102) : error C2059: syntax error : 'constant'
BUILD: [01:0000000290:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(103) : error C2059: syntax error : '}'
BUILD: [01:0000000291:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(190) : error C2061: syntax error : identifier 'POINTFIX'
BUILD: [01:0000000292:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(191) : error C2059: syntax error : '}'
BUILD: [01:0000000293:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2143: syntax error : missing ')' before '*'
BUILD: [01:0000000294:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2081: 'PATHDATA' : name in formal parameter list illegal
BUILD: [01:0000000295:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2143: syntax error : missing '{' before '*'
BUILD: [01:0000000296:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2059: syntax error : ')'
BUILD: [01:0000000297:WARNN ] F:\WINCE600\public\common\oak\inc\winddi.h(420) : warning C4431: missing type specifier - int assumed. Note: C no longer supports default-int
BUILD: [01:0000000298:WARNN ] F:\WINCE600\public\common\oak\inc\winddi.h(420) : warning C4218: nonstandard extension used : must specify at least a storage class or a type
BUILD: [01:0000000299:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2146: syntax error : missing ')' before identifier 'prectfx'
BUILD: [01:0000000300:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2081: 'PRECTFX' : name in formal parameter list illegal
BUILD: [01:0000000301:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2061: syntax error : identifier 'prectfx'
BUILD: [01:0000000302:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2059: syntax error : ';'
BUILD: [01:0000000303:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2059: syntax error : ')'
BUILD: [01:0000000304:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2143: syntax error : missing ')' before '*'
BUILD: [01:0000000305:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2081: 'PATHDATA' : name in formal parameter list illegal
BUILD: [01:0000000306:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2143: syntax error : missing '{' before '*'
BUILD: [01:0000000307:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2059: syntax error : ')'
BUILD: [01:0000000308:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2059: syntax error : ';'
BUILD: [01:0000000309:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(965) : error C2081: 'PRECTFX' : name in formal parameter list illegal
BUILD: [01:0000000310:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(983) : error C2061: syntax error : identifier 'PFN_PATHOBJ_bEnum'
BUILD: [01:0000000311:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(985) : error C2365: 'XLATEOBJ_cGetPalette' : redefinition; previous definition was 'function'
BUILD: [01:0000000313:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(986) : error C2365: 'EngCreateDeviceSurface' : redefinition; previous definition was 'function'
BUILD: [01:0000000315:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(987) : error C2365: 'EngDeleteSurface' : redefinition; previous definition was 'function'
BUILD: [01:0000000317:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(988) : error C2365: 'EngCreateDeviceBitmap' : redefinition; previous definition was 'function'
BUILD: [01:0000000319:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(989) : error C2365: 'EngCreatePalette' : redefinition; previous definition was 'function'
BUILD: [01:0000000321:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(990) : error C2365: 'EngGetPaletteFromPool' : redefinition; previous definition was 'function'
BUILD: [01:0000000323:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(991) : error C2365: 'EngAddPaletteToPool' : redefinition; previous definition was 'function'
BUILD: [01:0000000325:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(992) : error C2365: 'EngReleasePooledPalette' : redefinition; previous definition was 'function'
BUILD: [01:0000000327:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(993) : error C2059: syntax error : '}'
BUILD: [01:0000000328:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2146: syntax error : missing ')' before identifier 'pCallbacks'
BUILD: [01:0000000329:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2081: 'PENGCALLBACKS' : name in formal parameter list illegal
BUILD: [01:0000000330:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2061: syntax error : identifier 'pCallbacks'
BUILD: [01:0000000331:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2059: syntax error : ';'
BUILD: [01:0000000332:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1005) : error C2059: syntax error : ')'
BUILD: [01:0000000333:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2146: syntax error : missing ')' before identifier 'pCallbacks'
BUILD: [01:0000000334:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2081: 'PENGCALLBACKS' : name in formal parameter list illegal
BUILD: [01:0000000335:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2061: syntax error : identifier 'pCallbacks'
BUILD: [01:0000000336:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2059: syntax error : ';'
BUILD: [01:0000000337:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2059: syntax error : ')'
BUILD: [01:0000000338:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(107) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000339:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(108) : 

#21


引用 15 楼 xdkui 的回复:
sources里
$(_PLATFORMROOT)\SRC\DRIVERS\IPU\DISPLAY\COMMON; \
改成
$(_TARGETPLATROOT)\SRC\DRIVERS\IPU\DISPLAY\COMMON; \


我按你要求该了的。下面是哪个Build.log(路径:F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\SRC\BOOTLOADER)中的内容:
BUILD: [Thrd:Sequence:Type  ] Message
BUILD: [00:0000000000:PROGC ] Build started with parameters: -c
BUILD: [00:0000000001:PROGC ] Build started in directory: F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER
BUILD: [00:0000000002:PROGC ] Checking for F:\WINCE600\sdk\bin\i386\srccheck.exe.
BUILD: [00:0000000003:PROGC ] Running passes WCEFILES0, MIDL, MC, ASN, THUNK, PRECOMPHEADER, COMPILE, LIB, LINK, MANAGEDRESX, MANAGEDMOD, MANAGEDDLL, MANAGEDEXE, MANAGEDWIN for ARM.
BUILD: [00:0000000004:PROGC ] Ignoring build database (-c specified).
BUILD: [00:0000000005:PROGC ] Computing include file dependencies:
BUILD: [00:0000000006:PROGC ] Checking for SDK include directory: F:\WINCE600\sdk\CE\inc.
BUILD: [00:0000000007:PROGC ] Scan F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\
BUILD: [00:0000000008:PROGC ] Scan F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\EBOOT\
BUILD: [00:0000000009:PROGC ] Scan F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\XLDR\NAND\
BUILD: [00:0000000010:PROGC ] Scan F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\XLDR\SD\NONSECURE\
BUILD: [00:0000000011:PROGC ] Scan F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\BOOTSHELL\
BUILD: [00:0000000012:PROGC ] Saving F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\Build.dat.
BUILD: [00:0000000013:INFO  ] Done.
BUILD: [00:0000000014:INFO  ] Will Build F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\main.c because target: obj\ARMV4I\retail\main.obj is missing.
BUILD: [00:0000000015:INFO  ] Will Build F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\flash.c because target: obj\ARMV4I\retail\flash.obj is missing.
BUILD: [00:0000000016:INFO  ] Will Build F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\utils.c because target: obj\ARMV4I\retail\utils.obj is missing.
BUILD: [00:0000000017:INFO  ] Will Build F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\nand.c because target: obj\ARMV4I\retail\nand.obj is missing.
BUILD: [00:0000000018:INFO  ] Will Build F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\nor.c because target: obj\ARMV4I\retail\nor.obj is missing.
BUILD: [00:0000000019:INFO  ] Will Build F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\esdhc.c because target: obj\ARMV4I\retail\esdhc.obj is missing.
BUILD: [00:0000000020:INFO  ] Will Build F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\ether.c because target: obj\ARMV4I\retail\ether.obj is missing.
BUILD: [00:0000000021:INFO  ] Will Build F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\nfc_boot.cpp because target: obj\ARMV4I\retail\nfc_boot.obj is missing.
BUILD: [00:0000000022:INFO  ] Will Build F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\startup.s because target: obj\ARMV4I\retail\startup.obj is missing.
BUILD: [00:0000000023:PROGC ] Building COMPILE Pass in F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\ directory.
BUILD: [00:0000000024:PROG  ] 'NMAKE.EXE TargetCompilePass  -i -c BUILDMSG=Stop.  BUILDROOT=F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6 CLEANBUILD=1 NOLINK=1 NOPASS0=1'
BUILD: [01:0000000025:INFO  ] makefile.def: Including F:\WINCE600\public\common\oak\misc\Sources.default
BUILD: [01:0000000026:INFO  ] makefile.def: BUILDROOT is F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6
BUILD: [01:0000000027:INFO  ] makefile.def: Including F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\sources.cmn
BUILD: [01:0000000028:INFO  ] makefile.def: Including F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\sources
BUILD: [01:0000000029:INFO  ] makefile.def: Including F:\WINCE600\public\common\oak\misc\Sources.CE
BUILD: [01:0000000030:INFO  ] Directory: F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON
BUILD: [01:0000000031:INFO  ] TARGETNAME: bootcmn
BUILD: [01:0000000032:INFO  ] makefile.def: Including F:\WINCE600\public\common\oak\misc\sources.ReleaseType_PLATFORM
BUILD: [01:0000000033:PROGC ] Compiling .\main.c
BUILD: [01:0000000034:INFO  ] cl -nologo   /Gy -Foobj\ARMV4I\retail\main.obj -c -IARM\ -I. -IF:\WINCE600\platform\iMX35-3DS-PDK1_6\src\inc -IF:\WINCE600\platform\common\src\soc\common_fsl_v2_pdk1_6\inc -IF:\WINCE600\platform\common\src\soc\mx35_fsl_v2_pdk1_6\inc -IF:\WINCE600\platform\common\src\inc -IF:\WINCE600\platform\common\src\soc\common_fsl_v2_pdk1_6\boot\fmd\sdmmc -IF:\WINCE600\platform\common\src\soc\common_fsl_v2_pdk1_6\boot\fmd\nand -IF:\WINCE600\platform\common\src\soc\common_fsl_v2_pdk1_6\ipu\inc -IF:\WINCE600\platform\iMX35-3DS-PDK1_6\SRC\DRIVERS\IPU\DISPLAY\COMMON -IF:\WINCE600\public\common\sdk\inc -IF:\WINCE600\public\common\oak\inc -IF:\WINCE600\public\common\ddk\inc -IF:\WINCE600\sdk\CE\inc -I.\Resource\0804 -Ox -Os -GF -Zi -FdF:\WINCE600\platform\iMX35-3DS-PDK1_6\lib\ARMV4I\retail\bootcmn.pdb -D_CRT_SECURE_NO_DEPRECATE -D_USE_32BIT_TIME_T -DUNICODE -D_UNICODE -DUNDER_CE=600 -D_WIN32_WCE=0x600 -DWINCEOEM -DWINCEINTERNAL -DWIN32 -DSTRICT -DARM -DARMV4I -D_ARM_ -DNDEBUG=1 -DCEDDK_USEDDKMACRO -DBSP_PLATFORM_MDK -DBOOTLOADER -DINTERNATIONAL -DINTLMSG_CODEPAGE=1252 -WX -QRimplicit-import- -Zi  -Zc:wchar_t- -Zc:forScope- -wd4867 -wd4430 -MT -U_MT -W4    /GR- -QRarch4T -DTHUMBSUPPORT -QRinterwork-return  /GS F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\.\main.c
BUILD: [01:0000000035:INFO  ] main.c
BUILD: [01:0000000036:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(88) : error C2059: syntax error : 'constant'
BUILD: [01:0000000037:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(89) : error C2059: syntax error : 'constant'
BUILD: [01:0000000038:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(93) : error C2059: syntax error : 'constant'
BUILD: [01:0000000039:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(94) : error C2059: syntax error : 'constant'
BUILD: [01:0000000040:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(95) : error C2059: syntax error : '}'
BUILD: [01:0000000041:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(99) : error C2059: syntax error : 'constant'
BUILD: [01:0000000042:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(100) : error C2059: syntax error : 'constant'
BUILD: [01:0000000043:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(101) : error C2059: syntax error : 'constant'
BUILD: [01:0000000044:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(102) : error C2059: syntax error : 'constant'
BUILD: [01:0000000045:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(103) : error C2059: syntax error : '}'
BUILD: [01:0000000046:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(190) : error C2061: syntax error : identifier 'POINTFIX'
BUILD: [01:0000000047:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(191) : error C2059: syntax error : '}'
BUILD: [01:0000000048:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2143: syntax error : missing ')' before '*'
BUILD: [01:0000000049:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2081: 'PATHDATA' : name in formal parameter list illegal
BUILD: [01:0000000050:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2143: syntax error : missing '{' before '*'
BUILD: [01:0000000051:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2059: syntax error : ')'
BUILD: [01:0000000052:WARNN ] F:\WINCE600\public\common\oak\inc\winddi.h(420) : warning C4431: missing type specifier - int assumed. Note: C no longer supports default-int
BUILD: [01:0000000053:WARNN ] F:\WINCE600\public\common\oak\inc\winddi.h(420) : warning C4218: nonstandard extension used : must specify at least a storage class or a type

#22


F:\WINCE600\public\common\oak\inc\winddi.h(88)行的内容是什么?
F:\WINCE600\public\common\oak\inc\winddi.h(420)?

main.c改名成main.cpp可以吗?

#23


main.c包含了哪些头文件?包含了windows.h了吗?

#24


引用 22 楼 xdkui 的回复:
F:\WINCE600\public\common\oak\inc\winddi.h(88)行的内容是什么?
F:\WINCE600\public\common\oak\inc\winddi.h(420)?

main.c改名成main.cpp可以吗?

谢谢楼上xdkui,非常感谢,我现在将问题描述如下:
1、F:\WINCE600\public\common\oak\inc\winddi.h(88)行的内容是(红色字体代表是那一行): typedef LONG    FIX;
2、F:\WINCE600\public\common\oak\inc\winddi.h(420)行内容是(红色字体代表是那一行):
   #if DDI                    // Must be set when compiling driver
   #define LEFTENTRY (*
   #define RIGHTENTRY )
   DEFINE_GDI_ENTRY_POINTS(extern,LEFTENTRY,RIGHTENTRY)
   #else
    DEFINE_GDI_ENTRY_POINTS(EMPTYPARM,APIENTRY,EMPTYPARM)
   #endif
3、main.c改名成main.cpp是不行的,我main里面的函数都不是以类的形式,.cpp是类函数形式的。
4、main.c包含了的头文件如下:
   #include "bsp.h"
   #include <ethdbg.h>
   #pragma warning(push)
   #pragma warning(disable: 4115)
   #include <fmd.h>
   #pragma warning(pop)
   #include "loader.h"
   #include "sdfmd.h"
   #include "bitmap.h" 
   #include "precomp.h"
  说明:#include "precomp.h"是我加进去的,只要加进去了编译就出错的,bsp.h中包含了windows.h 文件。
5、precomp.h文件中内容如下:
   #pragma warning(push)
   #pragma warning(disable: 4201)
   #include <windows.h>
   #include <types.h>
   #include <winddi.h>
   #include <emul.h>
   #include <ceddk.h>
   #include <ddkmacro.h>
   #include <ddkreg.h>
   #include <ddrawi.h>
   #include <ddgpe.h>
   #include <ddhfuncs.h>
   #include <strsafe.h>
   #pragma warning(pop)
   #include "bsp.h"

   #if !defined(BSP_POCKETPC) && !defined(BSP_SMARTPHONE) && !(UNDER_CE >= 600)
   #include "ddgpeuser.h"
   #endif

   #if defined(USE_C2D_ROUTINES)
   #include "c2d_api.h"
   #include "c2d_mutex.h"
  // Macros
   #define C2D_CALL(f)               \
   {                                 \
    status = f;                   \
    if (status != C2D_STATUS_OK)  \
        return status;            \
   }

   #define ON_ERROR_EXIT_AND_LOG(f, msg)       \
   {                                           \
    status = f;                             \
    if (status != C2D_STATUS_OK)            \
    {                                       \
        C2D_EXIT;                           \
        ERRORMSG(1, (msg));                 \
        return C2DStatusToScode(status);    \
    }                                       \
   }                                      

   #define C2D_UNKNOWNFORMAT C2D_COLOR_8888_RGBA
   const C2D_COLORFORMAT EDDGPEPixelFormatToC2DFormat[] = {
            C2D_COLOR_A1,       //ddgpePixelFormat_1bpp = 0,    
            C2D_UNKNOWNFORMAT,  //ddgpePixelFormat_2bpp,
            C2D_COLOR_A4,       //ddgpePixelFormat_4bpp,
            C2D_COLOR_8,        //ddgpePixelFormat_8bpp,
            C2D_COLOR_0565,        //ddgpePixelFormat_565,
            C2D_COLOR_1555,  //ddgpePixelFormat_5551,
            C2D_COLOR_4444,  //ddgpePixelFormat_4444,
            C2D_COLOR_1555,  //ddgpePixelFormat_5550,
            C2D_COLOR_8888,  //ddgpePixelFormat_8880,
            C2D_COLOR_8888,  //ddgpePixelFormat_8888,
            C2D_COLOR_YVYU,  //ddgpePixelFormat_YUYV422,C2D_UNKNOWNFORMAT,//
            C2D_COLOR_UYVY,  //ddgpePixelFormat_UYVY422,C2D_UNKNOWNFORMAT,//
            C2D_COLOR_YUY2,  //ddgpePixelFormat_YUY2422,C2D_UNKNOWNFORMAT,//
            C2D_UNKNOWNFORMAT,  //ddgpePixelFormat_YV12,
            C2D_UNKNOWNFORMAT,  //ddgpePixelFormat_15bppGeneric,
            C2D_UNKNOWNFORMAT,  //ddgpePixelFormat_16bppGeneric,
            C2D_COLOR_8888,  //ddgpePixelFormat_24bppGeneric,
            C2D_COLOR_8888,     //ddgpePixelFormat_32bppGeneric,
            C2D_UNKNOWNFORMAT   //ddgpePixelFormat_UnknownFormat,
     };
     #endif //#if defined(USE_C2D_ROUTINES)
     #include "ipu.h"
     #include "adc.h"
     #include "sdc.h"
     #include "dirtyrect.h"
     #include "pp.h"
     #include "ddipu.h"
6、bsp.h中内容如下:
   #ifndef __BSP_H
   #define __BSP_H
//------------------------------------------------------------------------------

   #if __cplusplus
   extern "C" {
   #endif

  //------------------------------------------------------------------------------

   #pragma warning(push)
   #pragma warning(disable: 4115 4201 4204 4214)
   #include <windows.h>
   #include <ceddk.h>
   #include <nkintr.h>
   #include "oal.h"
   #pragma warning(pop)

   // Processor Definitions
   #include "csp.h"

   // Custom OAL Definitions
   #include "oal_iomux.h"

   // Configuration Files
   #include "args.h"
   #include "bsp_clocks.h"
   #include "bsp_cfg.h"
   #include "bsp_base_reg_cfg.h"
   #include "ioctl_cfg.h"
   #include "image_cfg.h"

    // Board Level Definitions
   #include "cpld.h"

   //------------------------------------------------------------------------------

   #if __cplusplus
   }
   #endif

   #endif

#25


不好意思,从这些信息我看不出fail的原因,我需要debug下。
如果可以,请把代码打包发给我xdkui@163.com,我可以在我这边帮你查

#26


您好,xdkui,谢谢。我QQ号是54007341,你加我吧。东西太大没法传邮箱的。我QQ上面和你说

#27


继续关注一下:)

#1


编译出现如下错误,编译出错的头文件文件是在public文件夹下的。

BUILD: [01:0000000332:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(88) : error C2059: syntax error : 'constant'
BUILD: [01:0000000333:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(89) : error C2059: syntax error : 'constant'
BUILD: [01:0000000334:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(93) : error C2059: syntax error : 'constant'
BUILD: [01:0000000335:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(94) : 
BUILD: [01:0000000337:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(99) : error C2059: syntax error : 'constant'
BUILD: [01:0000000338:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(100) : error C2059: syntax error : 'constant'
BUILD: [01:0000000339:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(101) : error C2059: syntax error : 'constant'
BUILD: [01:0000000340:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(102) : error C2059: syntax error : 'constant'
BUILD: [01:0000000341:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(103) : error C2059: syntax error : '}'
BUILD: [01:0000000342:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(190) : error C2061: syntax error : identifier 'POINTFIX'
BUILD: [01:0000000343:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(191) : error C2059: syntax error : '}'
BUILD: [01:0000000344:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(418) : error C2143: syntax error : missing ')' before '*'
BUILD: [01:0000000345:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(418) : error C2081: 'PATHDATA' : name in formal parameter list illegal
BUILD: [01:0000000346:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(418) : error C2143: syntax error : missing '{' before '*'
BUILD: [01:0000000347:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(418) : error C2059: syntax error : ')'
BUILD: [01:0000000348:WARNN ] F:\WINCE600\public\common\oak\inc\winddi.h(418) : warning C4431: missing type specifier - int assumed. Note: C no longer supports default-int
BUILD: [01:0000000349:WARNN ] F:\WINCE600\public\common\oak\inc\winddi.h(418) : warning C4218: nonstandard extension used : must specify at least a storage class or a type
BUILD: [01:0000000350:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(418) : error C2146: syntax error : missing ')' before identifier 'prectfx'
BUILD: [01:0000000351:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(418) : error C2081: 'PRECTFX' : name in formal parameter list illegal
BUILD: [01:0000000352:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(418) : error C2061: syntax error : identifier 'prectfx'
BUILD: [01:0000000353:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(418) : error C2059: syntax error : ';'
BUILD: [01:0000000354:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(418) : error C2059: syntax error : ')'
BUILD: [01:0000000355:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2143: syntax error : missing ')' before '*'
BUILD: [01:0000000356:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2081: 'PATHDATA' : name in formal parameter list illegal
BUILD: [01:0000000357:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2143: syntax error : missing '{' before '*'
BUILD: [01:0000000358:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2059: syntax error : ')'
BUILD: [01:0000000359:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2059: syntax error : ';'
BUILD: [01:0000000360:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(965) : error C2081: 'PRECTFX' : name in formal parameter list illegal
BUILD: [01:0000000361:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(983) : error C2061: syntax error : identifier 'PFN_PATHOBJ_bEnum'
BUILD: [01:0000000362:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(993) : error C2059: syntax error : '}'
BUILD: [01:0000000363:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2146: syntax error : missing ')' before identifier 'pCallbacks'
BUILD: [01:0000000364:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2081: 'PENGCALLBACKS' : name in formal parameter list illegal
BUILD: [01:0000000365:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2061: syntax error : identifier 'pCallbacks'
BUILD: [01:0000000366:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2059: syntax error : ';'
BUILD: [01:0000000367:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1005) : error C2059: syntax error : ')'
BUILD: [01:0000000368:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2146: syntax error : missing ')' before identifier 'pCallbacks'
BUILD: [01:0000000369:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2081: 'PENGCALLBACKS' : name in formal parameter list illegal
BUILD: [01:0000000370:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2061: syntax error : identifier 'pCallbacks'
BUILD: [01:0000000371:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2059: syntax error : ';'
BUILD: [01:0000000372:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2059: syntax error : ')'
BUILD: [01:0000000373:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(107) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000374:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(108) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000375:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(109) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000376:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(110) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000377:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(111) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000378:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(112) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000379:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(113) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000380:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(114) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000381:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(115) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000382:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(116) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000383:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(117) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000384:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(118) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000385:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(119) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000386:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(120) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000387:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(121) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000388:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(122) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000389:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(123) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000390:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(134) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000391:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(135) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000392:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(136) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000393:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(137) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000394:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(138) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000395:ERRORE] F:\WINCE600\public\common\oak\inc\genblt.h(169) : error C2143: syntax error : missing ')' before '*'
BUILD: [01:0000000396:ERRORE] F:\WINCE600\public\common\oak\inc\genblt.h(169) : error C2143: syntax error : missing '{' before '*'
BUILD: [01:0000000397:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(169) : warning C4431: missing type specifier - int assumed. Note: C no longer supports default-int
BUILD: [01:0000000398:ERRORE] F:\WINCE600\public\common\oak\inc\genblt.h(169) : error C2059: syntax error : 'type'
BUILD: [01:0000000399:ERRORE] F:\WINCE600\public\common\oak\inc\genblt.h(169) : error C2059: syntax error : ')'
BUILD: [01:0000000400:ERRORE] F:\WINCE600\public\common\oak\inc\genblt.h(174) : error C2061: syntax error : identifier 'GenBltSignature'
BUILD: [01:0000000401:ERRORE] F:\WINCE600\public\common\oak\inc\genblt.h(177) : error C2059: syntax error : '}'
BUILD: [01:0000000402:ERRORE] F:\WINCE600\public\common\oak\inc\genblt.h(181) : error C2061: syntax error : identifier 'GenBltSignature'

#2


引用楼主 winarmlinux 的回复:
我是将BSP包中的LCD显示部分文件全部拷到另一个目录下,然后在那个目录下的一个文件里面包含了个头文件(这个头文件在那个LCD显示文件中有定义的),也更改了source文件路径的,然后编译出现一大堆错误。sysgen了也不行的。请问是什么原因?


假设你在A.cpp里加上了#include <B.h>, 把"#include<B.h>"这句话往后挪几行
如果还有错,把build.log的内容贴上来

#3


我在main函数中这样定义是没有问题的:
#include "bsp.h"
#include <ethdbg.h>
#pragma warning(push)
#pragma warning(disable: 4115)
#include <fmd.h>
#pragma warning(pop)
#include "loader.h"
#include "sdfmd.h"

#include "bitmap.h" 

#include "pimm.h"
但是要是叫我再加了一个文件,编译就出错了的:
#include "bsp.h"
#include <ethdbg.h>
#pragma warning(push)
#pragma warning(disable: 4115)
#include <fmd.h>
#pragma warning(pop)
#include "loader.h"
#include "sdfmd.h"

#include "bitmap.h" 

#include "pimm.h"

#include "winddi.h"
 这样就铸错了的。pimm.h和winddi.h是在同一个目录\WINCE600\PUBLIC\COMMON\OAK\INC下面,请问为什么?

#4


错误时这样的:
BUILD: [01:0000000281:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(88) : error C2059: syntax error : 'constant'
BUILD: [01:0000000282:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(89) : error C2059: syntax error : 'constant'
BUILD: [01:0000000283:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(93) : error C2059: syntax error : 'constant'
BUILD: [01:0000000284:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(94) : error C2059: syntax error : 'constant'
BUILD: [01:0000000285:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(95) : error C2059: syntax error : '}'
BUILD: [01:0000000286:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(99) : error C2059: syntax error : 'constant'
BUILD: [01:0000000287:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(100) : error C2059: syntax error : 'constant'
BUILD: [01:0000000288:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(101) : error C2059: syntax error : 'constant'
BUILD: [01:0000000289:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(102) : error C2059: syntax error : 'constant'
BUILD: [01:0000000290:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(103) : error C2059: syntax error : '}'
BUILD: [01:0000000291:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(190) : error C2061: syntax error : identifier 'POINTFIX'
BUILD: [01:0000000292:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(191) : error C2059: syntax error : '}'
BUILD: [01:0000000293:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2143: syntax error : missing ')' before '*'
BUILD: [01:0000000294:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2081: 'PATHDATA' : name in formal parameter list illegal
BUILD: [01:0000000295:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2143: syntax error : missing '{' before '*'
BUILD: [01:0000000296:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2059: syntax error : ')'
BUILD: [01:0000000297:WARNN ] F:\WINCE600\public\common\oak\inc\winddi.h(420) : warning C4431: missing type specifier - int assumed. Note: C no longer supports default-int
BUILD: [01:0000000298:WARNN ] F:\WINCE600\public\common\oak\inc\winddi.h(420) : warning C4218: nonstandard extension used : must specify at least a storage class or a type
BUILD: [01:0000000299:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2146: syntax error : missing ')' before identifier 'prectfx'
BUILD: [01:0000000300:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2081: 'PRECTFX' : name in formal parameter list illegal
BUILD: [01:0000000301:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2061: syntax error : identifier 'prectfx'
BUILD: [01:0000000302:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2059: syntax error : ';'
BUILD: [01:0000000303:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2059: syntax error : ')'
BUILD: [01:0000000304:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2143: syntax error : missing ')' before '*'
BUILD: [01:0000000305:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2081: 'PATHDATA' : name in formal parameter list illegal
BUILD: [01:0000000306:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2143: syntax error : missing '{' before '*'
BUILD: [01:0000000307:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2059: syntax error : ')'
BUILD: [01:0000000308:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2059: syntax error : ';'
BUILD: [01:0000000309:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(965) : error C2081: 'PRECTFX' : name in formal parameter list illegal
BUILD: [01:0000000310:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(983) : error C2061: syntax error : identifier 'PFN_PATHOBJ_bEnum'
BUILD: [01:0000000311:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(985) : error C2365: 'XLATEOBJ_cGetPalette' : redefinition; previous definition was 'function'
BUILD: [01:0000000313:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(986) : error C2365: 'EngCreateDeviceSurface' : redefinition; previous definition was 'function'
BUILD: [01:0000000315:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(987) : error C2365: 'EngDeleteSurface' : redefinition; previous definition was 'function'
BUILD: [01:0000000317:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(988) : error C2365: 'EngCreateDeviceBitmap' : redefinition; previous definition was 'function'
BUILD: [01:0000000319:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(989) : error C2365: 'EngCreatePalette' : redefinition; previous definition was 'function'
BUILD: [01:0000000321:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(990) : error C2365: 'EngGetPaletteFromPool' : redefinition; previous definition was 'function'
BUILD: [01:0000000323:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(991) : error C2365: 'EngAddPaletteToPool' : redefinition; previous definition was 'function'
BUILD: [01:0000000325:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(992) : error C2365: 'EngReleasePooledPalette' : redefinition; previous definition was 'function'
BUILD: [01:0000000327:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(993) : error C2059: syntax error : '}'
BUILD: [01:0000000328:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2146: syntax error : missing ')' before identifier 'pCallbacks'
BUILD: [01:0000000329:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2081: 'PENGCALLBACKS' : name in formal parameter list illegal
BUILD: [01:0000000330:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2061: syntax error : identifier 'pCallbacks'
BUILD: [01:0000000331:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2059: syntax error : ';'
BUILD: [01:0000000332:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1005) : error C2059: syntax error : ')'
BUILD: [01:0000000333:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2146: syntax error : missing ')' before identifier 'pCallbacks'
BUILD: [01:0000000334:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2081: 'PENGCALLBACKS' : name in formal parameter list illegal
BUILD: [01:0000000335:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2061: syntax error : identifier 'pCallbacks'
BUILD: [01:0000000336:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2059: syntax error : ';'
BUILD: [01:0000000337:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2059: syntax error : ')'

#5


在#include "winddi.h"之前#include "windows.h" ?

#6


有windows.h的,和那个有冲突么?

#7


顶起,学习一下。

#8


引用 6 楼 winarmlinux 的回复:
有windows.h的,和那个有冲突么?


编译完后,在你的LCD目录下有个build.log文件,请把这个文件的内容贴上来

#9


我现在在bootloader中的common文件夹中的main文件中定义一个头文件#include "precomp.h",并在common文件夹下的source中定义了precomp.h文件所在的路径。胆识编译就是提示找不到precomp.h文件,编译提示错误如下:
BUILD: [01:0000000278:PROGC ] Compiling .\main.c
BUILD: [01:0000000281:ERRORE] F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6 \SRC\BOOTLOADER\COMMON\.\main.c(25) : fatal error C1083: Cannot open include file: 'precomp.h': No such file or directory
BUILD: [01:0000000282:PROGC ] Compiling .\flash.c
BUILD: [01:0000000285:PROGC ] Compiling .\utils.c

#10


从报错信息上来看winddi.h中的constant关键词没有被识别出来,建议看看winddi.h中有引用什么别的头文件吗?或是这个文件需要别的头文件来支持?建议不要在public下改动文件,牵扯太多系统的函数。

#11


我没改public文件夹中的内容的。现在主要是我想调用一个总的头文件precomp.h,这个文件中包含很多的头文件,那我要怎么做才能达到解决这个头文件在别的地方调用不会出错呢?

#12


这个错误很明显了。肯定是你的sources没写对。你的precomp.h在哪?sources文件怎么写的?

另外,这个错误和这个讨论最开始的错误有关系吗?

#13


有关系的,只是写法不一样导致的。
precomp.h的路径是:F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\SRC\DRIVERS\IPU\DISPLAY\COMMON

precomp.h中的内容是:
#pragma warning(push)
#pragma warning(disable: 4201)

#include <windows.h>
#include <types.h>
#include <winddi.h>
#include <emul.h>
#include <ceddk.h>

#include <ddkmacro.h>
#include <ddkreg.h>

#include <ddrawi.h>
#include <ddgpe.h>
#include <ddhfuncs.h>
#include <strsafe.h>


source内容是:
!if 0
Copyright (C) 2006-2008 Freescale Semiconductor, Inc. All Rights Reserved.
THIS SOURCE CODE, AND ITS USE AND DISTRIBUTION, IS SUBJECT TO THE TERMS
AND CONDITIONS OF THE APPLICABLE LICENSE AGREEMENT
!endif

TARGETNAME=bootcmn
TARGETTYPE=LIBRARY
RELEASETYPE=PLATFORM
NOMIPS16CODE=1

INCLUDES= \
  $(INCLUDES); \
  $(_PLATFORMROOT)\common\src\soc\$(_COMMONSOCDIR)\boot\fmd\sdmmc; \
  $(_PLATFORMROOT)\common\src\soc\$(_COMMONSOCDIR)\boot\fmd\nand; \
  $(_PLATFORMROOT)\common\src\soc\$(_COMMONSOCDIR)\ipu\inc; \
  $(_PLATFORMROOT)\SRC\DRIVERS\IPU\DISPLAY\COMMON; \

CDEFINES=$(CDEFINES) -DBOOTLOADER

LDEFINES=-subsystem:native /DEBUG /DEBUGTYPE:CV /FIXED:NO

SOURCES=\
    main.c \
    flash.c \
    utils.c \
    nand.c \
    nor.c \
    esdhc.c \
    ether.c \
    nfc_boot.cpp

ARM_SOURCES=\
    startup.s

#14


等半个月我也来中整CE6.0,呵呵……

#15


sources里
$(_PLATFORMROOT)\SRC\DRIVERS\IPU\DISPLAY\COMMON; \
改成
$ (_TARGETPLATROOT)\SRC\DRIVERS\IPU\DISPLAY\COMMON; \

#16


改完编译后出现很多错误,这次没出现找不到文件,就是上面我写的哪些错误:
BUILD: [01:0000000281:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(88) : error C2059: syntax error : 'constant'
BUILD: [01:0000000282:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(89) : error C2059: syntax error : 'constant'
BUILD: [01:0000000283:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(93) : error C2059: syntax error : 'constant'
BUILD: [01:0000000284:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(94) : error C2059: syntax error : 'constant'
BUILD: [01:0000000285:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(95) : error C2059: syntax error : '}'
BUILD: [01:0000000286:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(99) : error C2059: syntax error : 'constant'
BUILD: [01:0000000287:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(100) : error C2059: syntax error : 'constant'
BUILD: [01:0000000288:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(101) : error C2059: syntax error : 'constant'
BUILD: [01:0000000289:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(102) : error C2059: syntax error : 'constant'
BUILD: [01:0000000290:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(103) : error C2059: syntax error : '}'
BUILD: [01:0000000291:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(190) : error C2061: syntax error : identifier 'POINTFIX'
BUILD: [01:0000000292:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(191) : error C2059: syntax error : '}'
BUILD: [01:0000000293:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2143: syntax error : missing ')' before '*'
BUILD: [01:0000000294:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2081: 'PATHDATA' : name in formal parameter list illegal
BUILD: [01:0000000295:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2143: syntax error : missing '{' before '*'
BUILD: [01:0000000296:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2059: syntax error : ')'
BUILD: [01:0000000297:WARNN ] F:\WINCE600\public\common\oak\inc\winddi.h(420) : warning C4431: missing type specifier - int assumed. Note: C no longer supports default-int
BUILD: [01:0000000298:WARNN ] F:\WINCE600\public\common\oak\inc\winddi.h(420) : warning C4218: nonstandard extension used : must specify at least a storage class or a type
BUILD: [01:0000000299:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2146: syntax error : missing ')' before identifier 'prectfx'
BUILD: [01:0000000300:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2081: 'PRECTFX' : name in formal parameter list illegal
BUILD: [01:0000000301:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2061: syntax error : identifier 'prectfx'
BUILD: [01:0000000302:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2059: syntax error : ';'
BUILD: [01:0000000303:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2059: syntax error : ')'
BUILD: [01:0000000304:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2143: syntax error : missing ')' before '*'
BUILD: [01:0000000305:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2081: 'PATHDATA' : name in formal parameter list illegal
BUILD: [01:0000000306:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2143: syntax error : missing '{' before '*'
BUILD: [01:0000000307:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2059: syntax error : ')'
BUILD: [01:0000000308:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2059: syntax error : ';'
BUILD: [01:0000000309:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(965) : error C2081: 'PRECTFX' : name in formal parameter list illegal
BUILD: [01:0000000310:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(983) : error C2061: syntax error : identifier 'PFN_PATHOBJ_bEnum'
BUILD: [01:0000000311:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(985) : error C2365: 'XLATEOBJ_cGetPalette' : redefinition; previous definition was 'function'
BUILD: [01:0000000313:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(986) : error C2365: 'EngCreateDeviceSurface' : redefinition; previous definition was 'function'
BUILD: [01:0000000315:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(987) : error C2365: 'EngDeleteSurface' : redefinition; previous definition was 'function'
BUILD: [01:0000000317:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(988) : error C2365: 'EngCreateDeviceBitmap' : redefinition; previous definition was 'function'
BUILD: [01:0000000319:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(989) : error C2365: 'EngCreatePalette' : redefinition; previous definition was 'function'
BUILD: [01:0000000321:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(990) : error C2365: 'EngGetPaletteFromPool' : redefinition; previous definition was 'function'
BUILD: [01:0000000323:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(991) : error C2365: 'EngAddPaletteToPool' : redefinition; previous definition was 'function'
BUILD: [01:0000000325:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(992) : error C2365: 'EngReleasePooledPalette' : redefinition; previous definition was 'function'
BUILD: [01:0000000327:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(993) : error C2059: syntax error : '}'
BUILD: [01:0000000328:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2146: syntax error : missing ')' before identifier 'pCallbacks'
BUILD: [01:0000000329:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2081: 'PENGCALLBACKS' : name in formal parameter list illegal
BUILD: [01:0000000330:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2061: syntax error : identifier 'pCallbacks'
BUILD: [01:0000000331:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2059: syntax error : ';'
BUILD: [01:0000000332:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1005) : error C2059: syntax error : ')'
BUILD: [01:0000000333:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2146: syntax error : missing ')' before identifier 'pCallbacks'
BUILD: [01:0000000334:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2081: 'PENGCALLBACKS' : name in formal parameter list illegal
BUILD: [01:0000000335:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2061: syntax error : identifier 'pCallbacks'
BUILD: [01:0000000336:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2059: syntax error : ';'

#17


引用 8 楼 xdkui 的回复:
引用 6 楼 winarmlinux 的回复:
有windows.h的,和那个有冲突么?


编译完后,在你的LCD目录下有个build.log文件,请把这个文件的内容贴上来


编译完后,在你的LCD目录下有个build.log文件,请把这个文件的内容贴上来

#18


觉得这种错误一般都是 source文件中 INCLUDE 设置错误

#19


引用 15 楼 xdkui 的回复:
sources里
$(_PLATFORMROOT)\SRC\DRIVERS\IPU\DISPLAY\COMMON; \
改成
$(_TARGETPLATROOT)\SRC\DRIVERS\IPU\DISPLAY\COMMON; \


按那样改完后就出现很多错误的:
BUILD: [Thrd:Sequence:Type  ] Message
BUILD: [00:0000000000:PROGC ] Build started with parameters:
BUILD: [00:0000000001:PROGC ] Build started in directory: D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON
BUILD: [00:0000000002:PROGC ] Checking for D:\WINCE600\sdk\bin\i386\srccheck.exe.
BUILD: [00:0000000003:PROGC ] Running passes WCEFILES0, MIDL, MC, ASN, THUNK, PRECOMPHEADER, COMPILE, LIB, LINK, MANAGEDRESX, MANAGEDMOD, MANAGEDDLL, MANAGEDEXE, MANAGEDWIN for ARM.
BUILD: [00:0000000004:PROGC ] Loading database "D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\Build.dat".
BUILD: [00:0000000005:PROGC ] Done.
BUILD: [00:0000000006:PROGC ] Computing include file dependencies:
BUILD: [00:0000000007:PROGC ] Checking for SDK include directory: D:\WINCE600\sdk\CE\inc.
BUILD: [00:0000000008:PROGC ] Scan D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\
BUILD: [00:0000000009:PROGC ] Saving D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\Build.dat.
BUILD: [00:0000000010:INFO  ] Done.
BUILD: [00:0000000011:INFO  ] Will Build D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\main.c because target: obj\ARMV4I\retail\main.obj is missing.
BUILD: [00:0000000012:PROGC ] Building COMPILE Pass in D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\ directory.
BUILD: [00:0000000013:PROG  ] 'NMAKE.EXE TargetCompilePass  -i -c BUILDMSG=Stop.  BUILDROOT=D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6 NOLINK=1 NOPASS0=1'
BUILD: [01:0000000014:INFO  ] makefile.def: Including D:\WINCE600\public\common\oak\misc\Sources.default
BUILD: [01:0000000015:INFO  ] makefile.def: BUILDROOT is D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6
BUILD: [01:0000000016:INFO  ] makefile.def: Including D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\sources.cmn
BUILD: [01:0000000017:INFO  ] makefile.def: Including D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\sources
BUILD: [01:0000000018:INFO  ] makefile.def: Including D:\WINCE600\public\common\oak\misc\Sources.CE
BUILD: [01:0000000019:INFO  ] Directory: D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON
BUILD: [01:0000000020:INFO  ] TARGETNAME: bootcmn
BUILD: [01:0000000021:INFO  ] makefile.def: Including D:\WINCE600\public\common\oak\misc\sources.ReleaseType_PLATFORM
BUILD: [01:0000000022:PROGC ] Compiling .\main.c
BUILD: [01:0000000023:INFO  ] cl -nologo   /Gy -Foobj\ARMV4I\retail\main.obj -c -IARM\ -I. -ID:\WINCE600\platform\iMX35-3DS-PDK1_6\src\inc -ID:\WINCE600\platform\common\src\soc\common_fsl_v2_pdk1_6\inc -ID:\WINCE600\platform\common\src\soc\mx35_fsl_v2_pdk1_6\inc -ID:\WINCE600\platform\common\src\inc -ID:\WINCE600\platform\common\src\soc\common_fsl_v2_pdk1_6\boot\fmd\sdmmc -ID:\WINCE600\platform\common\src\soc\common_fsl_v2_pdk1_6\boot\fmd\nand -ID:\WINCE600\public\common\sdk\inc -ID:\WINCE600\public\common\oak\inc -ID:\WINCE600\public\common\ddk\inc -ID:\WINCE600\sdk\CE\inc -I.\Resource\0804 -Ox -Os -GF -Zi -FdD:\WINCE600\platform\iMX35-3DS-PDK1_6\lib\ARMV4I\retail\bootcmn.pdb -D_CRT_SECURE_NO_DEPRECATE -D_USE_32BIT_TIME_T -DUNICODE -D_UNICODE -DUNDER_CE=600 -D_WIN32_WCE=0x600 -DWINCEOEM -DWINCEINTERNAL -DWIN32 -DSTRICT -DARM -DARMV4I -D_ARM_ -DNDEBUG=1 -DCEDDK_USEDDKMACRO -DBSP_PLATFORM_MDK -DBOOTLOADER -DINTERNATIONAL -DINTLMSG_CODEPAGE=1252 -WX -QRimplicit-import- -Zi  -Zc:wchar_t- -Zc:forScope- -wd4867 -wd4430 -MT -U_MT -W4    /GR- -QRarch4T -DTHUMBSUPPORT -QRinterwork-return  /GS D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\.\main.c
BUILD: [01:0000000024:INFO  ] main.c
BUILD: [00:0000000025:INFO  ] Will Build D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\obj\ARMV4I\retail\main.obj because target: D:\WINCE600\platform\iMX35-3DS-PDK1_6\lib\ARMV4I\retail\bootcmn.lib is out of date.
BUILD: [00:0000000026:PROGC ] Building LIB Pass in D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\ directory.
BUILD: [00:0000000027:PROG  ] 'NMAKE.EXE TargetLibFiles  -i -c BUILDMSG=Stop.  BUILDROOT=D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6 LINKONLY=1 NOPASS0=1'
BUILD: [01:0000000028:INFO  ] makefile.def: Including D:\WINCE600\public\common\oak\misc\Sources.default
BUILD: [01:0000000029:INFO  ] makefile.def: BUILDROOT is D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6
BUILD: [01:0000000030:INFO  ] makefile.def: Including D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\sources.cmn
BUILD: [01:0000000031:INFO  ] makefile.def: Including D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\sources
BUILD: [01:0000000032:INFO  ] makefile.def: Including D:\WINCE600\public\common\oak\misc\Sources.CE
BUILD: [01:0000000033:INFO  ] Directory: D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON
BUILD: [01:0000000034:INFO  ] TARGETNAME: bootcmn
BUILD: [01:0000000035:INFO  ] makefile.def: Including D:\WINCE600\public\common\oak\misc\sources.ReleaseType_PLATFORM
BUILD: [01:0000000036:PROGC ] Linking D:\WINCE600\platform\iMX35-3DS-PDK1_6\lib\ARMV4I\retail\bootcmn.lib
BUILD: [01:0000000037:INFO  ]  link -lib -out:D:\WINCE600\platform\iMX35-3DS-PDK1_6\lib\ARMV4I\retail\bootcmn.lib -machine:thumb @C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\nm7E0.tmp
BUILD: [00:0000000038:PROGC ] Saving D:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\Build.dat.
BUILD: [00:0000000039:INFO  ] Done.
BUILD: [00:0000000040:PROGC ] Done.
BUILD: [00:0000000041:PROGC ]                        Files  Warnings  Errors
BUILD: [00:0000000042:PROGC ] Midl                       0         0       0
BUILD: [00:0000000043:PROGC ] Message                    0         0       0
BUILD: [00:0000000044:PROGC ] Precomp Header             0         0       0
BUILD: [00:0000000045:PROGC ] Resource                   0         0       0
BUILD: [00:0000000046:PROGC ] MASM                       0         0       0
BUILD: [00:0000000047:PROGC ] SHASM                      0         0       0
BUILD: [00:0000000048:PROGC ] ARMASM                     0         0       0
BUILD: [00:0000000049:PROGC ] MIPSASM                    0         0       0
BUILD: [00:0000000050:PROGC ] C++                        0         0       0
BUILD: [00:0000000051:PROGC ] C                          1         0       0
BUILD: [00:0000000052:PROGC ] Static Libraries           1         0       0
BUILD: [00:0000000053:PROGC ] Exe's                      0         0       0
BUILD: [00:0000000054:PROGC ] Dll's                      0         0       0
BUILD: [00:0000000055:PROGC ] Preprocess deffile         0         0       0
BUILD: [00:0000000056:PROGC ] Resx                       0         0       0
BUILD: [00:0000000057:PROGC ] CSharp Compile             0         0       0
BUILD: [00:0000000058:PROGC ] Other                      0         0       0
BUILD: [00:0000000059:PROGC ] 
BUILD: [00:0000000060:PROGC ] Total                      2         0       0
BUILD: [00:0000000061:PROGC ] 
BUILD: [00:0000000062:PROGC ] 0 Warnings,  0 Errors
BUILD: [00:0000000063:PROGC ] GetSystemTimes (seconds): Idle: 0     Kernel: 1     User: 0    
BUILD: [00:0000000064:PROGC ] Elapsed  time  (seconds): 0    

#20


引用 15 楼 xdkui 的回复:
sources里
$(_PLATFORMROOT)\SRC\DRIVERS\IPU\DISPLAY\COMMON; \
改成
$(_TARGETPLATROOT)\SRC\DRIVERS\IPU\DISPLAY\COMMON; \


改完编译出现下面错误:
BUILD: [01:0000000281:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(88) : error C2059: syntax error : 'constant'
BUILD: [01:0000000282:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(89) : error C2059: syntax error : 'constant'
BUILD: [01:0000000283:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(93) : error C2059: syntax error : 'constant'
BUILD: [01:0000000284:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(94) : error C2059: syntax error : 'constant'
BUILD: [01:0000000285:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(95) : error C2059: syntax error : '}'
BUILD: [01:0000000286:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(99) : error C2059: syntax error : 'constant'
BUILD: [01:0000000287:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(100) : error C2059: syntax error : 'constant'
BUILD: [01:0000000288:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(101) : error C2059: syntax error : 'constant'
BUILD: [01:0000000289:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(102) : error C2059: syntax error : 'constant'
BUILD: [01:0000000290:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(103) : error C2059: syntax error : '}'
BUILD: [01:0000000291:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(190) : error C2061: syntax error : identifier 'POINTFIX'
BUILD: [01:0000000292:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(191) : error C2059: syntax error : '}'
BUILD: [01:0000000293:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2143: syntax error : missing ')' before '*'
BUILD: [01:0000000294:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2081: 'PATHDATA' : name in formal parameter list illegal
BUILD: [01:0000000295:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2143: syntax error : missing '{' before '*'
BUILD: [01:0000000296:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2059: syntax error : ')'
BUILD: [01:0000000297:WARNN ] F:\WINCE600\public\common\oak\inc\winddi.h(420) : warning C4431: missing type specifier - int assumed. Note: C no longer supports default-int
BUILD: [01:0000000298:WARNN ] F:\WINCE600\public\common\oak\inc\winddi.h(420) : warning C4218: nonstandard extension used : must specify at least a storage class or a type
BUILD: [01:0000000299:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2146: syntax error : missing ')' before identifier 'prectfx'
BUILD: [01:0000000300:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2081: 'PRECTFX' : name in formal parameter list illegal
BUILD: [01:0000000301:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2061: syntax error : identifier 'prectfx'
BUILD: [01:0000000302:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2059: syntax error : ';'
BUILD: [01:0000000303:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2059: syntax error : ')'
BUILD: [01:0000000304:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2143: syntax error : missing ')' before '*'
BUILD: [01:0000000305:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2081: 'PATHDATA' : name in formal parameter list illegal
BUILD: [01:0000000306:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2143: syntax error : missing '{' before '*'
BUILD: [01:0000000307:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2059: syntax error : ')'
BUILD: [01:0000000308:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(964) : error C2059: syntax error : ';'
BUILD: [01:0000000309:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(965) : error C2081: 'PRECTFX' : name in formal parameter list illegal
BUILD: [01:0000000310:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(983) : error C2061: syntax error : identifier 'PFN_PATHOBJ_bEnum'
BUILD: [01:0000000311:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(985) : error C2365: 'XLATEOBJ_cGetPalette' : redefinition; previous definition was 'function'
BUILD: [01:0000000313:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(986) : error C2365: 'EngCreateDeviceSurface' : redefinition; previous definition was 'function'
BUILD: [01:0000000315:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(987) : error C2365: 'EngDeleteSurface' : redefinition; previous definition was 'function'
BUILD: [01:0000000317:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(988) : error C2365: 'EngCreateDeviceBitmap' : redefinition; previous definition was 'function'
BUILD: [01:0000000319:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(989) : error C2365: 'EngCreatePalette' : redefinition; previous definition was 'function'
BUILD: [01:0000000321:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(990) : error C2365: 'EngGetPaletteFromPool' : redefinition; previous definition was 'function'
BUILD: [01:0000000323:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(991) : error C2365: 'EngAddPaletteToPool' : redefinition; previous definition was 'function'
BUILD: [01:0000000325:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(992) : error C2365: 'EngReleasePooledPalette' : redefinition; previous definition was 'function'
BUILD: [01:0000000327:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(993) : error C2059: syntax error : '}'
BUILD: [01:0000000328:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2146: syntax error : missing ')' before identifier 'pCallbacks'
BUILD: [01:0000000329:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2081: 'PENGCALLBACKS' : name in formal parameter list illegal
BUILD: [01:0000000330:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2061: syntax error : identifier 'pCallbacks'
BUILD: [01:0000000331:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1004) : error C2059: syntax error : ';'
BUILD: [01:0000000332:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1005) : error C2059: syntax error : ')'
BUILD: [01:0000000333:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2146: syntax error : missing ')' before identifier 'pCallbacks'
BUILD: [01:0000000334:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2081: 'PENGCALLBACKS' : name in formal parameter list illegal
BUILD: [01:0000000335:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2061: syntax error : identifier 'pCallbacks'
BUILD: [01:0000000336:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2059: syntax error : ';'
BUILD: [01:0000000337:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(1007) : error C2059: syntax error : ')'
BUILD: [01:0000000338:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(107) : warning C4214: nonstandard extension used : bit field types other than int
BUILD: [01:0000000339:WARNN ] F:\WINCE600\public\common\oak\inc\genblt.h(108) : 

#21


引用 15 楼 xdkui 的回复:
sources里
$(_PLATFORMROOT)\SRC\DRIVERS\IPU\DISPLAY\COMMON; \
改成
$(_TARGETPLATROOT)\SRC\DRIVERS\IPU\DISPLAY\COMMON; \


我按你要求该了的。下面是哪个Build.log(路径:F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\SRC\BOOTLOADER)中的内容:
BUILD: [Thrd:Sequence:Type  ] Message
BUILD: [00:0000000000:PROGC ] Build started with parameters: -c
BUILD: [00:0000000001:PROGC ] Build started in directory: F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER
BUILD: [00:0000000002:PROGC ] Checking for F:\WINCE600\sdk\bin\i386\srccheck.exe.
BUILD: [00:0000000003:PROGC ] Running passes WCEFILES0, MIDL, MC, ASN, THUNK, PRECOMPHEADER, COMPILE, LIB, LINK, MANAGEDRESX, MANAGEDMOD, MANAGEDDLL, MANAGEDEXE, MANAGEDWIN for ARM.
BUILD: [00:0000000004:PROGC ] Ignoring build database (-c specified).
BUILD: [00:0000000005:PROGC ] Computing include file dependencies:
BUILD: [00:0000000006:PROGC ] Checking for SDK include directory: F:\WINCE600\sdk\CE\inc.
BUILD: [00:0000000007:PROGC ] Scan F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\
BUILD: [00:0000000008:PROGC ] Scan F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\EBOOT\
BUILD: [00:0000000009:PROGC ] Scan F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\XLDR\NAND\
BUILD: [00:0000000010:PROGC ] Scan F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\XLDR\SD\NONSECURE\
BUILD: [00:0000000011:PROGC ] Scan F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\BOOTSHELL\
BUILD: [00:0000000012:PROGC ] Saving F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\Build.dat.
BUILD: [00:0000000013:INFO  ] Done.
BUILD: [00:0000000014:INFO  ] Will Build F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\main.c because target: obj\ARMV4I\retail\main.obj is missing.
BUILD: [00:0000000015:INFO  ] Will Build F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\flash.c because target: obj\ARMV4I\retail\flash.obj is missing.
BUILD: [00:0000000016:INFO  ] Will Build F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\utils.c because target: obj\ARMV4I\retail\utils.obj is missing.
BUILD: [00:0000000017:INFO  ] Will Build F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\nand.c because target: obj\ARMV4I\retail\nand.obj is missing.
BUILD: [00:0000000018:INFO  ] Will Build F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\nor.c because target: obj\ARMV4I\retail\nor.obj is missing.
BUILD: [00:0000000019:INFO  ] Will Build F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\esdhc.c because target: obj\ARMV4I\retail\esdhc.obj is missing.
BUILD: [00:0000000020:INFO  ] Will Build F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\ether.c because target: obj\ARMV4I\retail\ether.obj is missing.
BUILD: [00:0000000021:INFO  ] Will Build F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\nfc_boot.cpp because target: obj\ARMV4I\retail\nfc_boot.obj is missing.
BUILD: [00:0000000022:INFO  ] Will Build F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\startup.s because target: obj\ARMV4I\retail\startup.obj is missing.
BUILD: [00:0000000023:PROGC ] Building COMPILE Pass in F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\ directory.
BUILD: [00:0000000024:PROG  ] 'NMAKE.EXE TargetCompilePass  -i -c BUILDMSG=Stop.  BUILDROOT=F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6 CLEANBUILD=1 NOLINK=1 NOPASS0=1'
BUILD: [01:0000000025:INFO  ] makefile.def: Including F:\WINCE600\public\common\oak\misc\Sources.default
BUILD: [01:0000000026:INFO  ] makefile.def: BUILDROOT is F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6
BUILD: [01:0000000027:INFO  ] makefile.def: Including F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\sources.cmn
BUILD: [01:0000000028:INFO  ] makefile.def: Including F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\sources
BUILD: [01:0000000029:INFO  ] makefile.def: Including F:\WINCE600\public\common\oak\misc\Sources.CE
BUILD: [01:0000000030:INFO  ] Directory: F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON
BUILD: [01:0000000031:INFO  ] TARGETNAME: bootcmn
BUILD: [01:0000000032:INFO  ] makefile.def: Including F:\WINCE600\public\common\oak\misc\sources.ReleaseType_PLATFORM
BUILD: [01:0000000033:PROGC ] Compiling .\main.c
BUILD: [01:0000000034:INFO  ] cl -nologo   /Gy -Foobj\ARMV4I\retail\main.obj -c -IARM\ -I. -IF:\WINCE600\platform\iMX35-3DS-PDK1_6\src\inc -IF:\WINCE600\platform\common\src\soc\common_fsl_v2_pdk1_6\inc -IF:\WINCE600\platform\common\src\soc\mx35_fsl_v2_pdk1_6\inc -IF:\WINCE600\platform\common\src\inc -IF:\WINCE600\platform\common\src\soc\common_fsl_v2_pdk1_6\boot\fmd\sdmmc -IF:\WINCE600\platform\common\src\soc\common_fsl_v2_pdk1_6\boot\fmd\nand -IF:\WINCE600\platform\common\src\soc\common_fsl_v2_pdk1_6\ipu\inc -IF:\WINCE600\platform\iMX35-3DS-PDK1_6\SRC\DRIVERS\IPU\DISPLAY\COMMON -IF:\WINCE600\public\common\sdk\inc -IF:\WINCE600\public\common\oak\inc -IF:\WINCE600\public\common\ddk\inc -IF:\WINCE600\sdk\CE\inc -I.\Resource\0804 -Ox -Os -GF -Zi -FdF:\WINCE600\platform\iMX35-3DS-PDK1_6\lib\ARMV4I\retail\bootcmn.pdb -D_CRT_SECURE_NO_DEPRECATE -D_USE_32BIT_TIME_T -DUNICODE -D_UNICODE -DUNDER_CE=600 -D_WIN32_WCE=0x600 -DWINCEOEM -DWINCEINTERNAL -DWIN32 -DSTRICT -DARM -DARMV4I -D_ARM_ -DNDEBUG=1 -DCEDDK_USEDDKMACRO -DBSP_PLATFORM_MDK -DBOOTLOADER -DINTERNATIONAL -DINTLMSG_CODEPAGE=1252 -WX -QRimplicit-import- -Zi  -Zc:wchar_t- -Zc:forScope- -wd4867 -wd4430 -MT -U_MT -W4    /GR- -QRarch4T -DTHUMBSUPPORT -QRinterwork-return  /GS F:\WINCE600\PLATFORM\iMX35-3DS-PDK1_6\src\BOOTLOADER\COMMON\.\main.c
BUILD: [01:0000000035:INFO  ] main.c
BUILD: [01:0000000036:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(88) : error C2059: syntax error : 'constant'
BUILD: [01:0000000037:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(89) : error C2059: syntax error : 'constant'
BUILD: [01:0000000038:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(93) : error C2059: syntax error : 'constant'
BUILD: [01:0000000039:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(94) : error C2059: syntax error : 'constant'
BUILD: [01:0000000040:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(95) : error C2059: syntax error : '}'
BUILD: [01:0000000041:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(99) : error C2059: syntax error : 'constant'
BUILD: [01:0000000042:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(100) : error C2059: syntax error : 'constant'
BUILD: [01:0000000043:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(101) : error C2059: syntax error : 'constant'
BUILD: [01:0000000044:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(102) : error C2059: syntax error : 'constant'
BUILD: [01:0000000045:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(103) : error C2059: syntax error : '}'
BUILD: [01:0000000046:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(190) : error C2061: syntax error : identifier 'POINTFIX'
BUILD: [01:0000000047:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(191) : error C2059: syntax error : '}'
BUILD: [01:0000000048:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2143: syntax error : missing ')' before '*'
BUILD: [01:0000000049:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2081: 'PATHDATA' : name in formal parameter list illegal
BUILD: [01:0000000050:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2143: syntax error : missing '{' before '*'
BUILD: [01:0000000051:ERRORE] F:\WINCE600\public\common\oak\inc\winddi.h(420) : error C2059: syntax error : ')'
BUILD: [01:0000000052:WARNN ] F:\WINCE600\public\common\oak\inc\winddi.h(420) : warning C4431: missing type specifier - int assumed. Note: C no longer supports default-int
BUILD: [01:0000000053:WARNN ] F:\WINCE600\public\common\oak\inc\winddi.h(420) : warning C4218: nonstandard extension used : must specify at least a storage class or a type

#22


F:\WINCE600\public\common\oak\inc\winddi.h(88)行的内容是什么?
F:\WINCE600\public\common\oak\inc\winddi.h(420)?

main.c改名成main.cpp可以吗?

#23


main.c包含了哪些头文件?包含了windows.h了吗?

#24


引用 22 楼 xdkui 的回复:
F:\WINCE600\public\common\oak\inc\winddi.h(88)行的内容是什么?
F:\WINCE600\public\common\oak\inc\winddi.h(420)?

main.c改名成main.cpp可以吗?

谢谢楼上xdkui,非常感谢,我现在将问题描述如下:
1、F:\WINCE600\public\common\oak\inc\winddi.h(88)行的内容是(红色字体代表是那一行): typedef LONG    FIX;
2、F:\WINCE600\public\common\oak\inc\winddi.h(420)行内容是(红色字体代表是那一行):
   #if DDI                    // Must be set when compiling driver
   #define LEFTENTRY (*
   #define RIGHTENTRY )
   DEFINE_GDI_ENTRY_POINTS(extern,LEFTENTRY,RIGHTENTRY)
   #else
    DEFINE_GDI_ENTRY_POINTS(EMPTYPARM,APIENTRY,EMPTYPARM)
   #endif
3、main.c改名成main.cpp是不行的,我main里面的函数都不是以类的形式,.cpp是类函数形式的。
4、main.c包含了的头文件如下:
   #include "bsp.h"
   #include <ethdbg.h>
   #pragma warning(push)
   #pragma warning(disable: 4115)
   #include <fmd.h>
   #pragma warning(pop)
   #include "loader.h"
   #include "sdfmd.h"
   #include "bitmap.h" 
   #include "precomp.h"
  说明:#include "precomp.h"是我加进去的,只要加进去了编译就出错的,bsp.h中包含了windows.h 文件。
5、precomp.h文件中内容如下:
   #pragma warning(push)
   #pragma warning(disable: 4201)
   #include <windows.h>
   #include <types.h>
   #include <winddi.h>
   #include <emul.h>
   #include <ceddk.h>
   #include <ddkmacro.h>
   #include <ddkreg.h>
   #include <ddrawi.h>
   #include <ddgpe.h>
   #include <ddhfuncs.h>
   #include <strsafe.h>
   #pragma warning(pop)
   #include "bsp.h"

   #if !defined(BSP_POCKETPC) && !defined(BSP_SMARTPHONE) && !(UNDER_CE >= 600)
   #include "ddgpeuser.h"
   #endif

   #if defined(USE_C2D_ROUTINES)
   #include "c2d_api.h"
   #include "c2d_mutex.h"
  // Macros
   #define C2D_CALL(f)               \
   {                                 \
    status = f;                   \
    if (status != C2D_STATUS_OK)  \
        return status;            \
   }

   #define ON_ERROR_EXIT_AND_LOG(f, msg)       \
   {                                           \
    status = f;                             \
    if (status != C2D_STATUS_OK)            \
    {                                       \
        C2D_EXIT;                           \
        ERRORMSG(1, (msg));                 \
        return C2DStatusToScode(status);    \
    }                                       \
   }                                      

   #define C2D_UNKNOWNFORMAT C2D_COLOR_8888_RGBA
   const C2D_COLORFORMAT EDDGPEPixelFormatToC2DFormat[] = {
            C2D_COLOR_A1,       //ddgpePixelFormat_1bpp = 0,    
            C2D_UNKNOWNFORMAT,  //ddgpePixelFormat_2bpp,
            C2D_COLOR_A4,       //ddgpePixelFormat_4bpp,
            C2D_COLOR_8,        //ddgpePixelFormat_8bpp,
            C2D_COLOR_0565,        //ddgpePixelFormat_565,
            C2D_COLOR_1555,  //ddgpePixelFormat_5551,
            C2D_COLOR_4444,  //ddgpePixelFormat_4444,
            C2D_COLOR_1555,  //ddgpePixelFormat_5550,
            C2D_COLOR_8888,  //ddgpePixelFormat_8880,
            C2D_COLOR_8888,  //ddgpePixelFormat_8888,
            C2D_COLOR_YVYU,  //ddgpePixelFormat_YUYV422,C2D_UNKNOWNFORMAT,//
            C2D_COLOR_UYVY,  //ddgpePixelFormat_UYVY422,C2D_UNKNOWNFORMAT,//
            C2D_COLOR_YUY2,  //ddgpePixelFormat_YUY2422,C2D_UNKNOWNFORMAT,//
            C2D_UNKNOWNFORMAT,  //ddgpePixelFormat_YV12,
            C2D_UNKNOWNFORMAT,  //ddgpePixelFormat_15bppGeneric,
            C2D_UNKNOWNFORMAT,  //ddgpePixelFormat_16bppGeneric,
            C2D_COLOR_8888,  //ddgpePixelFormat_24bppGeneric,
            C2D_COLOR_8888,     //ddgpePixelFormat_32bppGeneric,
            C2D_UNKNOWNFORMAT   //ddgpePixelFormat_UnknownFormat,
     };
     #endif //#if defined(USE_C2D_ROUTINES)
     #include "ipu.h"
     #include "adc.h"
     #include "sdc.h"
     #include "dirtyrect.h"
     #include "pp.h"
     #include "ddipu.h"
6、bsp.h中内容如下:
   #ifndef __BSP_H
   #define __BSP_H
//------------------------------------------------------------------------------

   #if __cplusplus
   extern "C" {
   #endif

  //------------------------------------------------------------------------------

   #pragma warning(push)
   #pragma warning(disable: 4115 4201 4204 4214)
   #include <windows.h>
   #include <ceddk.h>
   #include <nkintr.h>
   #include "oal.h"
   #pragma warning(pop)

   // Processor Definitions
   #include "csp.h"

   // Custom OAL Definitions
   #include "oal_iomux.h"

   // Configuration Files
   #include "args.h"
   #include "bsp_clocks.h"
   #include "bsp_cfg.h"
   #include "bsp_base_reg_cfg.h"
   #include "ioctl_cfg.h"
   #include "image_cfg.h"

    // Board Level Definitions
   #include "cpld.h"

   //------------------------------------------------------------------------------

   #if __cplusplus
   }
   #endif

   #endif

#25


不好意思,从这些信息我看不出fail的原因,我需要debug下。
如果可以,请把代码打包发给我xdkui@163.com,我可以在我这边帮你查

#26


您好,xdkui,谢谢。我QQ号是54007341,你加我吧。东西太大没法传邮箱的。我QQ上面和你说

#27


继续关注一下:)