none
基于mini2440的WinCE6.0内核定制编译报错(vs2005 + PlatformBuilder for CE 6.0) RRS feed

  • 问题

  • 在创建好的工程中,未添加任何组件,直接进行编译报错,网上也看到过很多人问同一个问题,但未找到解决的办法,请求高手指点错误原因,及解决方法,错误如下:

    build.err内容如下:

    BUILD: [Thrd:Sequence:Type  ] Message
    BUILD: [01:0000001025:ERRORE] NMAKE :  U1073: don't know how to make 'D:\WINCE600\OSDesigns\OSDesign1\OSDesign1\Wince600\Mini2440_ARMV4I\cesysgen\oak\lib\ARMV4I\debug\ufnmdd.lib'
    BUILD: [01:0000001027:ERRORE] NMAKE.EXE TargetLibFiles  -i -c BUILDMSG=Stop.  BUILDROOT=D:\WINCE600\PLATFORM\Mini2440 CLEANBUILD=1 LINKONLY=1 NOPASS0=1 failed - rc = 2

    build.log中截取的显示错误的内容如下:

    BUILD: [01:0000001025:ERRORE] NMAKE :  U1073: don't know how to make 'D:\WINCE600\OSDesigns\OSDesign1\OSDesign1\Wince600\Mini2440_ARMV4I\cesysgen\oak\lib\ARMV4I\debug\ufnmdd.lib'
    BUILD: [01:0000001026:INFO  ] Stop.
    BUILD: [01:0000001027:ERRORE] NMAKE.EXE TargetLibFiles  -i -c BUILDMSG=Stop.  BUILDROOT=D:\WINCE600\PLATFORM\Mini2440 CLEANBUILD=1 LINKONLY=1 NOPASS0=1 failed - rc = 2
    BUILD: [00:0000001028:PROGC ]                        Files  Warnings  Errors
    BUILD: [00:0000001029:PROGC ] Midl                       0         0       0
    BUILD: [00:0000001030:PROGC ] Message                    0         0       0
    BUILD: [00:0000001031:PROGC ] Precomp Header             1         0       0
    BUILD: [00:0000001032:PROGC ] Resource                   0         0       0
    BUILD: [00:0000001033:PROGC ] MASM                       0         0       0
    BUILD: [00:0000001034:PROGC ] SHASM                      0         0       0
    BUILD: [00:0000001035:PROGC ] ARMASM                     4         0       0
    BUILD: [00:0000001036:PROGC ] MIPSASM                    0         0       0
    BUILD: [00:0000001037:PROGC ] C++                       36        11       0
    BUILD: [00:0000001038:PROGC ] C                         25         0       0
    BUILD: [00:0000001039:PROGC ] Static Libraries          15         0       0
    BUILD: [00:0000001040:PROGC ] Exe's                      0         0       0
    BUILD: [00:0000001041:PROGC ] Dll's                      3         0       0
    BUILD: [00:0000001042:PROGC ] Preprocess deffile         1         0       0
    BUILD: [00:0000001043:PROGC ] Resx                       0         0       0
    BUILD: [00:0000001044:PROGC ] CSharp Compile             0         0       0
    BUILD: [00:0000001045:PROGC ] Other                      0         5       2
    BUILD: [00:0000001046:PROGC ]
    BUILD: [00:0000001047:PROGC ] Total                     85        16       2
    BUILD: [00:0000001048:PROGC ]
    BUILD: [00:0000001049:PROGC ] 16 Warnings,  2 Errors
    BUILD: [00:0000001050:PROGC ] GetSystemTimes (seconds): Idle: 115   Kernel: 130   User: 23  
    BUILD: [00:0000001051:PROGC ] Elapsed  time  (seconds): 38  

    build.wrn内容如下:

    BUILD: [Thrd:Sequence:Type  ] Message
    BUILD: [00:0000000052:WARNS ] Directory: D:\WINCE600\public\ossvcs\oak\inc\ does not exist.
    BUILD: [01:0000003578:WARNN ] oal_cache.lib(ioctl.obj) : warning LNK4006: OALIoCtlHalGetCacheInfo already defined in oal_cache_arm920t.lib(ioctl.obj); second definition ignored
    BUILD: [01:0000003579:WARNN ] oal_cache.lib(ioctl.obj) : warning LNK4221: no public symbols found; archive member will be inaccessible
    BUILD: [01:0000004193:WARNN ] gperotate.lib(aablt.obj) : warning LNK4099: PDB 'aablt.pdb' was not found with 'D:\WINCE600\OSDesigns\OSDesign1\OSDesign1\Wince600\Mini2440_ARMV4I\cesysgen\oak\lib\ARMV4I\debug\gperotate.lib' or at 'D:\WINCE600\platform\common\target\ARMV4I\debug\aablt.pdb'; linking object as if no debug info
    BUILD: [Thrd:Sequence:Type  ] Message
    BUILD: [00:0000000038:WARNS ] Directory: D:\WINCE600\platform\Mini2440\inc\ does not exist.
    BUILD: [00:0000000040:WARNS ] Directory: D:\WINCE600\platform\Mini2440\inc\ does not exist.
    BUILD: [00:0000000042:WARNS ] Directory: D:\WINCE600\platform\Mini2440\xllp\xlli\inc\ does not exist.
    BUILD: [00:0000000043:WARNS ] Directory: D:\WINCE600\platform\Mini2440\xllp\inc\ does not exist.
    BUILD: [00:0000000044:WARNS ] Directory: D:\WINCE600\platform\Mini2440\inc\ does not exist.
    BUILD: [01:0000000240:WARNN ] D:\WINCE600\PLATFORM\Mini2440\SRC\COMMON\NandFlash\fmd\.\FMD.cpp(969) : warning C4018: '<' : signed/unsigned mismatch
    BUILD: [01:0000000241:WARNN ] D:\WINCE600\PLATFORM\Mini2440\SRC\COMMON\NandFlash\fmd\.\FMD.cpp(970) : warning C4244: '=' : conversion from 'unsigned long' to 'USHORT', possible loss of data
    BUILD: [01:0000000242:WARNN ] D:\WINCE600\PLATFORM\Mini2440\SRC\COMMON\NandFlash\fmd\.\FMD.cpp(974) : warning C4018: '<' : signed/unsigned mismatch
    BUILD: [00:0000000326:WARNN ] D:\WINCE600\PLATFORM\Mini2440\SRC\DRIVERS\Usb\HCD\sources(51) : Build.exe does not evaluate IF conditional statements. Conditional statements that affect macro definitions might cause Build.exe to not rebuild modified source code. Refer to the Platform Builder documentation.
    BUILD: [01:0000000419:WARNN ] D:\WINCE600\PLATFORM\Mini2440\SRC\DRIVERS\Camera\.\camera.cpp(146) : warning C4018: '<' : signed/unsigned mismatch
    BUILD: [01:0000000420:WARNN ] D:\WINCE600\PLATFORM\Mini2440\SRC\DRIVERS\Camera\.\camera.cpp(165) : warning C4018: '<' : signed/unsigned mismatch
    BUILD: [01:0000000421:WARNN ] D:\WINCE600\PLATFORM\Mini2440\SRC\DRIVERS\Camera\.\camera.cpp(861) : warning C4102: '_error_exit' : unreferenced label
    BUILD: [01:0000000422:WARNN ] D:\WINCE600\PLATFORM\Mini2440\SRC\DRIVERS\Camera\.\camera.cpp(813) : warning C4101: 'bytes' : unreferenced local variable
    BUILD: [01:0000000521:WARNN ] D:\WINCE600\PLATFORM\Mini2440\SRC\DRIVERS\Wavedev\.\i2s.cpp(45) : warning C4005: 'ZONE_ERROR' : macro redefinition
    BUILD: [01:0000000523:WARNN ] D:\WINCE600\PLATFORM\Mini2440\SRC\DRIVERS\Wavedev\.\i2s.cpp(229) : warning C4101: 'dwBytesReturned' : unreferenced local variable
    BUILD: [01:0000000524:WARNN ] D:\WINCE600\PLATFORM\Mini2440\SRC\DRIVERS\Wavedev\.\i2s.cpp(228) : warning C4101: 'procInfo' : unreferenced local variable
    BUILD: [01:0000000608:WARNN ] D:\WINCE600\PLATFORM\Mini2440\SRC\DRIVERS\dm9000\.\device.cpp(343) : warning C4244: '=' : conversion from 'ULONG' to 'U8', possible loss of data
    BUILD: [00:0000000966:WARNN ] File: D:\WINCE600\PLATFORM\Mini2440\SRC\DRIVERS\Pwrbutton\obj\ARMV4I\debug\pwrbtn2440.obj does not exist (2).
    BUILD: [00:0000001005:WARNN ] D:\WINCE600\PLATFORM\Mini2440\SRC\DRIVERS\Usb\Function\: Missing source file: D:\WINCE600\OSDesigns\OSDesign1\OSDesign1\Wince600\Mini2440_ARMV4I\cesysgen\oak\lib\ARMV4I\debug\ufnmdd.lib.

     

    2011年12月3日 10:32

全部回复

  • 你好,

    我想是由于USB驱动引起的,6.0的和5.0的有些库不一样,6.0不用ufnmdd.lib,所以,参考http://blog.csdn.net/ffeige1984/article/details/4298763

    把Function下的SOURCES文件

    TARGETLIBS= /
           $(_PROJECTROOT)/cesysgen/sdk/lib/$(_CPUINDPATH)/coredll.lib /
           $(_PROJECTROOT)/cesysgen/oak/lib/$(_CPUINDPATH)/ceddk.lib   /

    SOURCELIBS= /
           $(_PROJECTROOT)/cesysgen/oak/lib/$(_CPUINDPATH)/ufnmdd.lib /

    修改为

     

     

    SOURCELIBS= /
        $(_COMMONOAKROOT)/lib/$(_CPUINDPATH)/ufnmddbase.lib

    TARGETLIBS= /
        $(_PUBLICROOT)/common/oak/lib/$(_CPUINDPATH)/defbuslib.lib /
        $(_PUBLICROOT)/common/oak/lib/$(_CPUINDPATH)/ceosutil.lib /
        $(_COMMONSDKROOT)/lib/$(_CPUINDPATH)/coredll.lib /
        $(_COMMONOAKROOT)/lib/$(_CPUINDPATH)/ceddk.lib

    编译问题解决。


    Jesse Jiang [MSFT]
    MSDN Community Support | Feedback to us
    2011年12月5日 6:40
    版主
  • 你好,我查看了你说的这个文件,就是你说的要改的地方。就是这样,不用改啊

    SOURCELIBS= /
        $(_COMMONOAKROOT)/lib/$(_CPUINDPATH)/ufnmddbase.lib

    TARGETLIBS= /
        $(_PUBLICROOT)/common/oak/lib/$(_CPUINDPATH)/defbuslib.lib /
        $(_PUBLICROOT)/common/oak/lib/$(_CPUINDPATH)/ceosutil.lib /
        $(_COMMONSDKROOT)/lib/$(_CPUINDPATH)/coredll.lib /
        $(_COMMONOAKROOT)/lib/$(_CPUINDPATH)/ceddk.lib


    ~~
    2011年12月17日 9:33