none
如何成功更换CE6R3的CALIBRUI? RRS feed

  • 问题

  • 如何成功更换CE6R3CALIBRUI?

    目标:更换 CALIBRUI里面触摸屏的文字

    步骤1 按照 文档 How to Replace the Calibrui Module

    http://msdn.microsoft.com/en-us/library/aa452834.aspx 

    建立clone

    步骤2 编译,出错信息如下

     

    未处理的异常:  System.ArgumentException: 路径中具有非法字符。

       System.IO.Path.CheckInvalidPathChars(String path)

       System.IO.Path.GetFileName(String path)

       System.IO.Path.GetFileNameWithoutExtension(String path)

       Microsoft.PlatformBuilder.MainClass.ComputeClonedLibs(String targetLibs, StringDictionary& moduleVars, StringDictionary& environmentVariables, Boolean res2res)

       Microsoft.PlatformBuilder.MainClass.Main(String[] args)

    NMAKE : fatal error U1077: 'SysgenMake' : return code '0xe0434f4d'

    Stop.

     

    步骤3查找  NMAKE : fatal error U1077: 'SysgenMake' : return code '0xe0434f4d'

    一些英文资料显示

    SysgenMake gets confused when it encounters TAB characters. I believe the
    problem is a TAB character in public\dcom\cesysgen\makefile. Microsoft is
    aware of this issue.

     

    http://www.eggheadcafe.com/software/aspnet/32802694/ce6-clone-component-libr.aspx

     

    步骤: 如何找到那个TAB 并且替换成 space

    谢谢指教

     

     


    Everything is possible.
    2010年5月5日 9:35

答案

  • 看帖出来的log,还真是非法字符的问题,但是看不出来非法字符是哪个。可能发帖子的时候给转换掉了?

    其实pb build的整个过程都可以手工一点一点做。build出错之后,open那个黑色的build window,手工的敲

    SysgenMake /NOLOGO D:\WINCE600\OSDesigns\TCC8900\Wince600\MAGELLAN_ARMV4I\cesysgen\oak\target\ARMV4I\retail\rpcrt4.dll

    看看有没有问题。


    最近有了小宝宝,他比较淘气,所以来这里的时间少了挺多。非常抱歉。
    2010年5月7日 17:33
    版主

全部回复

  • 步骤2就出错了,那说明build都没有通过阿。

    如果真的是那篇文章说的,去tab,其实倒简单了,ultraedit等工具都有把tab替换成4个空格的功能。只要用UE打开makefile,enable tab换空格功能,然后save一下就可以了。


    最近有了小宝宝,他比较淘气,所以来这里的时间少了挺多。非常抱歉。
    2010年5月6日 6:57
    版主
  • 何宗键,谢谢帮助。

    找了个新版本的 ultraedit工具,把enable tab换空格功能saqve之后,还是编译通不过。

    现将详细出错信息贴一下。

    我自己分析, *.dll文件产生有3步骤。

    1 sysgenmake

    2link

    3editbin

    出错的部分表明。

    第一步 sysgenmake就出错的。

    但是没有什么头绪,

    请高手指点,谢谢

    /////////////////////////////////////////////////////
    Copying celog.*
    Copying caplog.*
    Copying PCIreg.*
    Copying cecap.*
    Copying fal.*
    Copying ecclib.*
    Copying sdnpcik.*
    Copying stratak.*
    Copying faslk.*
    Copying fmdhooklib.*
    Copying flsnandlib.*
    Copying fallite.*
    Copying flashcommon.*
    Copying flashmddcore.*
    Copying fmdwrapperpdd.*
    BUILD: [Thrd:Sequence:Type  ] Message
    BUILD: [00:0000000000:PROGC ] Build started with parameters: -c
    BUILD: [00:0000000001:PROGC ] Build started in directory: D:\WINCE600\PUBLIC\DCOM
    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 ] Ignoring build database (-c specified).
    BUILD: [00:0000000005:PROGC ] Computing include file dependencies:
    BUILD: [00:0000000006:PROGC ] Checking for SDK include directory: D:\WINCE600\sdk\CE\inc.
    BUILD: [00:0000000007:PROGC ] Scan D:\WINCE600\PUBLIC\DCOM\SDK\SAMPLES\DCOMCNFG\
    BUILD: [00:0000000008:PROGC ] Saving D:\WINCE600\PUBLIC\DCOM\Build.dat.
    BUILD: [00:0000000009:INFO  ] Done.
    BUILD: [00:0000000010:INFO  ] Will Build D:\WINCE600\PUBLIC\DCOM\SDK\SAMPLES\DCOMCNFG\dcomcnfg.rc because target: obj\ARMV4I\retail\dcomcnfg.res is missing.
    BUILD: [00:0000000011:INFO  ] Will Build D:\WINCE600\PUBLIC\DCOM\SDK\SAMPLES\DCOMCNFG\dcomcnfg.cxx because target: obj\ARMV4I\retail\dcomcnfg.obj is missing.
    BUILD: [00:0000000012:INFO  ] Will Build D:\WINCE600\PUBLIC\DCOM\SDK\SAMPLES\DCOMCNFG\ because target: D:\WINCE600\public\dcom\oak\lib\ARMV4I\retail\dcomcnfg.res is missing.
    BUILD: [00:0000000013:PROGC ] Building COMPILE Pass in D:\WINCE600\PUBLIC\DCOM\SDK\SAMPLES\DCOMCNFG\ directory.
    BUILD: [00:0000000014:PROG  ] 'NMAKE.EXE TargetCompilePass  -i -c BUILDMSG=Stop.  BUILDROOT=D:\WINCE600\PUBLIC\DCOM CLEANBUILD=1 NOLINK=1 NOPASS0=1'
    BUILD: [01:0000000015:INFO  ] makefile.def: Including D:\WINCE600\public\common\oak\misc\Sources.default
    BUILD: [01:0000000016:INFO  ] makefile.def: BUILDROOT is D:\WINCE600\PUBLIC\DCOM
    BUILD: [01:0000000017:INFO  ] makefile.def: Including D:\WINCE600\PUBLIC\DCOM\sources.cmn
    BUILD: [01:0000000018:INFO  ] makefile.def: Including D:\WINCE600\PUBLIC\DCOM\SDK\SAMPLES\DCOMCNFG\sources
    BUILD: [01:0000000019:INFO  ] makefile.def: Including D:\WINCE600\public\common\oak\misc\Sources.CE
    BUILD: [01:0000000020:INFO  ] Directory: D:\WINCE600\PUBLIC\DCOM\SDK\SAMPLES\DCOMCNFG
    BUILD: [01:0000000021:INFO  ] TARGETNAME: dcomcnfg
    BUILD: [01:0000000022:INFO  ] makefile.def: Including D:\WINCE600\public\common\oak\misc\sources.ReleaseType_OAK
    BUILD: [01:0000000023:PROGC ] Resource Compiling .\dcomcnfg.rc
    BUILD: [01:0000000024:INFO  ]  rc -r -IARM\ -I. -ID:\WINCE600\public\common\sdk\inc -ID:\WINCE600\sdk\CE\inc -I.\Resource\0804  -DUNDER_CE=600  -DINTERNATIONAL -l 409 -c 1252  -foobj\ARMV4I\retail\dcomcnfg.res D:\WINCE600\PUBLIC\DCOM\SDK\SAMPLES\DCOMCNFG\.\dcomcnfg.rc
    BUILD: [01:0000000025:INFO  ] Microsoft (R) Windows (R) Resource Compiler Version 6.0.5478.0
    BUILD: [01:0000000026:INFO  ] Copyright (C) Microsoft Corporation.  All rights reserved.
    BUILD: [01:0000000027:INFO  ]
    BUILD: [01:0000000028:PROGC ] Compiling .\dcomcnfg.cxx
    BUILD: [01:0000000029:INFO  ] cl -nologo    /Gy -Foobj\ARMV4I\retail\dcomcnfg.obj -c -IARM\ -I. -ID:\WINCE600\public\common\sdk\inc -ID:\WINCE600\sdk\CE\inc -I.\Resource\0804 -Ox -Os -GF -Zi -FdD:\WINCE600\public\dcom\oak\lib\ARMV4I\retail\dcomcnfg.pdb -D_CRT_SECURE_NO_DEPRECATE -D_USE_32BIT_TIME_T -DUNICODE -D_UNICODE -DUNDER_CE=600 -D_WIN32_WCE=0x600 -DWIN32 -DSTRICT -DARM -DARMV4I -D_ARM_ -DNDEBUG=1  -DINTERNATIONAL -DINTLMSG_CODEPAGE=1252 -WX -Zi  -Zc:wchar_t- -Zc:forScope- -wd4867 -wd4430 -MT -U_MT -W3    /GR- -QRarch4T -DTHUMBSUPPORT -QRinterwork-return  /GS D:\WINCE600\PUBLIC\DCOM\SDK\SAMPLES\DCOMCNFG\.\dcomcnfg.cxx
    BUILD: [01:0000000030:INFO  ] dcomcnfg.cxx
    BUILD: [01:0000000031:INFO  ]  copy obj\ARMV4I\retail\dcomcnfg.res D:\WINCE600\public\dcom\oak\lib\ARMV4I\retail\dcomcnfg.res
    BUILD: [01:0000000032:INFO  ]
    已复制         1 个文件。
    BUILD: [00:0000000033:INFO  ] Will Build D:\WINCE600\PUBLIC\DCOM\SDK\SAMPLES\DCOMCNFG\obj\ARMV4I\retail\dcomcnfg.obj because target: D:\WINCE600\public\dcom\oak\lib\ARMV4I\retail\dcomcnfg.lib is missing.
    BUILD: [00:0000000034:INFO  ] Will Build D:\WINCE600\PUBLIC\DCOM\SDK\SAMPLES\DCOMCNFG\ because target: D:\WINCE600\public\dcom\oak\lib\ARMV4I\retail\dcomcnfg.lib is missing.
    BUILD: [00:0000000035:PROGC ] Building LIB Pass in D:\WINCE600\PUBLIC\DCOM\SDK\SAMPLES\DCOMCNFG\ directory.
    BUILD: [00:0000000036:PROG  ] 'NMAKE.EXE TargetLibFiles  -i -c BUILDMSG=Stop.  BUILDROOT=D:\WINCE600\PUBLIC\DCOM CLEANBUILD=1 LINKONLY=1 NOPASS0=1'
    BUILD: [01:0000000037:INFO  ] makefile.def: Including D:\WINCE600\public\common\oak\misc\Sources.default
    BUILD: [01:0000000038:INFO  ] makefile.def: BUILDROOT is D:\WINCE600\PUBLIC\DCOM
    BUILD: [01:0000000039:INFO  ] makefile.def: Including D:\WINCE600\PUBLIC\DCOM\sources.cmn
    BUILD: [01:0000000040:INFO  ] makefile.def: Including D:\WINCE600\PUBLIC\DCOM\SDK\SAMPLES\DCOMCNFG\sources
    BUILD: [01:0000000041:INFO  ] makefile.def: Including D:\WINCE600\public\common\oak\misc\Sources.CE
    BUILD: [01:0000000042:INFO  ] Directory: D:\WINCE600\PUBLIC\DCOM\SDK\SAMPLES\DCOMCNFG
    BUILD: [01:0000000043:INFO  ] TARGETNAME: dcomcnfg
    BUILD: [01:0000000044:INFO  ] makefile.def: Including D:\WINCE600\public\common\oak\misc\sources.ReleaseType_OAK
    BUILD: [01:0000000045:PROGC ] Linking D:\WINCE600\public\dcom\oak\lib\ARMV4I\retail\dcomcnfg.lib
    BUILD: [01:0000000046:INFO  ]  link -lib -out:D:\WINCE600\public\dcom\oak\lib\ARMV4I\retail\dcomcnfg.lib -machine:thumb @C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\nm6130.tmp
    BUILD: [01:0000000047:INFO  ]  copy obj\ARMV4I\retail\dcomcnfg.res D:\WINCE600\public\dcom\oak\lib\ARMV4I\retail\dcomcnfg.res
    BUILD: [01:0000000048:INFO  ]
    已复制         1 个文件。
    BUILD: [00:0000000049:PROGC ] Saving D:\WINCE600\PUBLIC\DCOM\Build.dat.
    BUILD: [00:0000000050:INFO  ] Done.
    BUILD: [00:0000000051:PROGC ] Done.
    BUILD: [00:0000000052:PROGC ]                        Files  Warnings  Errors
    BUILD: [00:0000000053:PROGC ] Midl                       0         0       0
    BUILD: [00:0000000054:PROGC ] Message                    0         0       0
    BUILD: [00:0000000055:PROGC ] Precomp Header             0         0       0
    BUILD: [00:0000000056:PROGC ] Resource                   1         0       0
    BUILD: [00:0000000057:PROGC ] MASM                       0         0       0
    BUILD: [00:0000000058:PROGC ] SHASM                      0         0       0
    BUILD: [00:0000000059:PROGC ] ARMASM                     0         0       0
    BUILD: [00:0000000060:PROGC ] MIPSASM                    0         0       0
    BUILD: [00:0000000061:PROGC ] C++                        1         0       0
    BUILD: [00:0000000062:PROGC ] C                          0         0       0
    BUILD: [00:0000000063:PROGC ] Static Libraries           1         0       0
    BUILD: [00:0000000064:PROGC ] Exe's                      0         0       0
    BUILD: [00:0000000065:PROGC ] Dll's                      0         0       0
    BUILD: [00:0000000066:PROGC ] Preprocess deffile         0         0       0
    BUILD: [00:0000000067:PROGC ] Resx                       0         0       0
    BUILD: [00:0000000068:PROGC ] CSharp Compile             0         0       0
    BUILD: [00:0000000069:PROGC ] Other                      0         0       0
    BUILD: [00:0000000070:PROGC ]
    BUILD: [00:0000000071:PROGC ] Total                      3         0       0
    BUILD: [00:0000000072:PROGC ]
    BUILD: [00:0000000073:PROGC ] 0 Warnings,  0 Errors
    BUILD: [00:0000000074:PROGC ] GetSystemTimes (seconds): Idle: 3     Kernel: 4     User: 1   
    BUILD: [00:0000000075:PROGC ] Elapsed  time  (seconds): 3   
    Starting sysgen phase for project ( dcom )
    Found localized resources for Languages ( 0404 0407 0409 040C 0410 0411 0412 0413 0416 0419 041D 0804 0C0A)

    Microsoft (R) Program Maintenance Utility Version CE-6.00.1893.0
    Copyright (C) Microsoft Corporation.  All rights reserved.

    Windows CE Version (Release) (Built on Jun 30 2006 16:52:46)
    makefile.def: Invoked with predefined settings:
    TARGETNAME: dummy
    TARGETTYPE: dummy
    RELEASETYPE:
    TARGETLIBS:
    SOURCELIBS:
    makefile.def: Including D:\WINCE600\public\common\oak\misc\Sources.default
    makefile.def: BUILDROOT is D:\WINCE600\public\dcom\cesysgen
    makefile.def: Including D:\WINCE600\PUBLIC\DCOM\CESYSGEN\sources
    makefile.def: Including D:\WINCE600\public\common\oak\misc\Sources.CE
    Directory: D:\WINCE600\PUBLIC\DCOM\CESYSGEN
    TARGETNAME: dummy
    RELEASETYPE is not defined.  Using DEFAULT.
    makefile.def: Including D:\WINCE600\public\common\oak\misc\sources.ReleaseType_DEFAULT
    系统找不到指定的路径。
    系统找不到指定的路径。
    ECHO
    处于打开状态。

    Microsoft (R) Program Maintenance Utility Version CE-6.00.1893.0
    Copyright (C) Microsoft Corporation.  All rights reserved.

    Windows CE Version (Release) (Built on Jun 30 2006 16:52:46)
    makefile.def: Invoked with predefined settings:
    TARGETNAME: dummy
    TARGETTYPE: dummy
    RELEASETYPE:
    TARGETLIBS:
    SOURCELIBS:
    makefile.def: Including D:\WINCE600\public\common\oak\misc\Sources.default
    makefile.def: BUILDROOT is D:\WINCE600\public\dcom\cesysgen
    makefile.def: Including D:\WINCE600\PUBLIC\DCOM\CESYSGEN\sources
    makefile.def: Including D:\WINCE600\public\common\oak\misc\Sources.CE
    Directory: D:\WINCE600\PUBLIC\DCOM\CESYSGEN
    TARGETNAME: dummy
    RELEASETYPE is not defined.  Using DEFAULT.
    makefile.def: Including D:\WINCE600\public\common\oak\misc\sources.ReleaseType_DEFAULT
    Copying ATL8 Components to D:\WINCE600\OSDesigns\TCC8900\Wince600\MAGELLAN_ARMV4I\cesysgen\sdk\lib\ARMV4I\retail
     SysgenMake /NOLOGO D:\WINCE600\OSDesigns\TCC8900\Wince600\MAGELLAN_ARMV4I\cesysgen\oak\target\ARMV4I\retail\rpcrt4.dll

    未处理的异常:  System.ArgumentException: 路径中具有非法字符。
      
    System.IO.Path.CheckInvalidPathChars(String path)
      
    System.IO.Path.GetFileName(String path)
      
    System.IO.Path.GetFileNameWithoutExtension(String path)
      
    Microsoft.PlatformBuilder.MainClass.ComputeClonedLibs(String targetLibs, StringDictionary& moduleVars, StringDictionary& environmentVariables, Boolean res2res)
      
    Microsoft.PlatformBuilder.MainClass.Main(String[] args)
    NMAKE : fatal error U1077: 'SysgenMake' : return code '0xe0434f4d'
    Stop.

     

     


    Everything is possible.
    2010年5月7日 9:24
  • 看帖出来的log,还真是非法字符的问题,但是看不出来非法字符是哪个。可能发帖子的时候给转换掉了?

    其实pb build的整个过程都可以手工一点一点做。build出错之后,open那个黑色的build window,手工的敲

    SysgenMake /NOLOGO D:\WINCE600\OSDesigns\TCC8900\Wince600\MAGELLAN_ARMV4I\cesysgen\oak\target\ARMV4I\retail\rpcrt4.dll

    看看有没有问题。


    最近有了小宝宝,他比较淘气,所以来这里的时间少了挺多。非常抱歉。
    2010年5月7日 17:33
    版主
  • 何宗键,谢谢帮助。 但是可能我比较愚钝, 没有找到您说的 open那个黑色的build window。

    我的编译环境是 wince6.0 是集成在 VS2005里面的。截了一张编译出错的图, 但是却 上传不了。

     按照你的敲命令的想法: 我尝试了两种:

     第一种方法 利用“CTRL+ALT+A” 打开VS2005的 Command window 在里面手工敲入 SysgenMake /NOLOGO D:\WINCE600\OSDesigns\TCC8900\Wince600\MAGELLAN_ARMV4I\cesysgen\oak\target\ARMV4I\retail\rpcrt4.dll 出错提醒 Command "SysgenMake" is not valid.

    第二种方法 在Open Release Directory in Build Window 切换当前编译目录到SysgenMake.exe的目录 D:\WINCE600\SDK\BIN\I386\ 手工输入SysgenMake /NOLOGO D:\WINCE600\OSDesigns\TCC8900\Wince600\MAGELLAN_ARMV4I\cesysgen\oak\target\ARMV4I\retail\rpcrt4.dll 手工输入没任何提示,同时看了目标目录也没有生成rpcrt4.dll文件。

    最后 为再次确认确实是由于 添加 组件CalibrUi(gwe2 clone), 我删除此组件,确认系统可以跟之前(未添加此模块一样),可以生成Image。

    重新Clone组件 ,操作步骤如下 Core OS->CEBASE->Shell and User Interface->Graphics,Windowing and Events->Minimal GDI Configuration-> Clone Catalog Item. 重新编译后还是有同样错误。

    这次我留意到 build.log的末尾 SysgenMake /NOLOGO D:\WINCE600\OSDesigns\TCC8900\Wince600\MAGELLAN_ARMV4I\cesysgen\oak\target\ARMV4I\retail\rpcrt4.dll 之后 是 3个 0D 0A字符 未处理的异常: System.ArgumentException: 路径中具有非法字符。 是否可能是这个0D 0A呢?


    Everything is possible.

    2010年5月18日 3:11