解决构建时的错误的方法(转自何宗键老师的《Windows CE嵌入式系统》)

    
如果在构建过程中发生了错误,则须找出错误的原因并解决。通常,找出错误的原因有两种途径:

   1.查看输出信息
   在Platform Builder IDE的Output窗口或命令行中,可通过查看命令行工具的输出信息来找到错误的原因。通常一些比较简单的错误都可以通过此种方式解决。例如,构建运行时映像时,遭遇硬盘空间不足或者选择的模块太多,导致NK.bin体积超过预设值。

   2.查看日志文件
   在构建过程中,Windows CE的构建系统会把一些输出重定向到几个日志文件中。通过阅读日志文件,可知道详细的构建信息,从而更好的找出错误的原因。通常,日志文件被放在目录%_WINCEROOT%下,日志文件的描述如下:
    build.log      包含构建系统各个步骤的详细输入/输出信息,是解决构建错误的主要依据
    build.wrn      构建过程中出现的警告(Warning)信息
    build.err      构建过程中出现的错误信息

错误的原因有可能是多种多样的。但大致来说,可按照构建系统时映像的4个过程归纳,大致有如下几种
   
     1.Sysgen过程中的错误
    如果在Sysgen过程中出错,通常原因是由于缺少文件。例如:缺少操作系统组件的库文件或者配置文件。此外,批处理文件运行失败也可能导致Sysgen出错。
    如果Sysgen提示缺少某些文件,那么常常是因为组件之间的依赖关系设置不正确。此种情况在第三方的代码中比较有可能发生,当然Platform Builer自带的组件也有可能,此时可查找所缺少的文件属于哪个组件,然后把该组件添加到系统,一般问题就可解决了。

     2.Build过程中的错误
    build过程主要是对源代码进行编译和链接。因此Build过程中的错通常都是由于编译或链接失败造成的。编译失败是由于代码中的语法错误,链接失败则是由于有外部的符号没有解决或重复。
    要解决Build过程的错误,可充分利用应用程序开发或在其他Win32平台下积累的经验。

     3.Release Copy过程的错误
    Release Copy过程主要是文件的复制。因此错误只可能是文件复制失败造成的。例如没有足够的磁盘空间以及在FAT32文件系统中使用CopyLink方式复制文件等。

    4.Make Image过程中的错误
    Make Image过程的错误主要是有RomImage.exe造成的。例如RomImage在Ce.bib上调用失败。
    此步经常出现的错误是打包时找不到某些文件。如果出现这个错误,则可查看目录%_FLATRELEASEDIR%下最终生成的Ce.bib文件:该文件是在何种情况下被包含的以及属于哪个模块,然后加以解决。

    此外,如果生成的Flash映像NBX文件大于Config.bib文件中指定的大小,那么通常会被切分成多个小文件。这虽然只产生一个Warning,但是他会导致最终的Flash运行时映象无法执行,应引起足够的重视。
     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值