SDK导出错误

来源:互联网 发布:软件研发做什么的 编辑:程序博客网 时间:2024/05/17 23:40

关于SDK向导的相关错误提示,请参见另一篇博文:

       《关于“导出SDK时的向导设置 ”的补充!?》

       http://blog.mcuol.com/User/iwillbeback008/Article/8133_1.htm

        要解决此问题,首先您要保证已成功生成的系统,在最近一次生成以后没有做如何模块的修改操作。 然后,请按照下列步骤操作:
在Platform Builder 5.0中的"Build OS"菜单下点击"Open Release Directory"打CE开命令行,在其中输入"dir %_PROJECTROOT%\SysgenSettings.out",
这个过程的效果如下所示:

E:\WINCE500\PBWorkspaces\mini2440\RelDir\smdk2440_ARMV4I_Release>dir %_PROJECTROOT%\SysgenSettings.out
驱动器 E 中的卷没有标签
卷的序列号是 58E0-CE75

E:\WINCE500\PBWorkspaces\mini2440\WINCE500\smdk2440_ARMV4I 的目录

2008-11-26  IBM T23 17:38             3,230 SysgenSettings.out
               1 个文件          3,230 字节
               0 个目录  8,280,449,024 可用字节

    这表明:在那个目录下有"SysgenSettings.out"文件和大小,及其所在磁盘的一些信息。你就可以在指定的路径%_PROJECTROOT%下找到"SysgenSettings.out"文件。

    再在CE命令行下输入set sysgen>anchored.txt,在指定的%_FlatReleaseDIR&路径下生成一个anchored.txt文本。
这个过程的效果如下所示:

E:\WINCE500\PBWorkspaces\mini2440\RelDir\smdk2440_ARMV4I_Release>set sysgen>anchored.txt
E:\WINCE500\PBWorkspaces\mini2440\RelDir\smdk2440_ARMV4I_Release>

    在"E:\WINCE500\PBWorkspaces\mini2440\RelDir\smdk2440_ARMV4I_Release"下创建一个anchored.txt文本
 
    然后你用记事本或是UE工具打开这两个文件,比较其中的不同。
    具体是:找到Anchored.txt中有的,而在SysgenSettings.out中没有的Sysgen variables。
比如笔者这次找到的:

SYSGEN_DOTNET=1
SYSGEN_DOTNET_SUPPORT=1

这就找到了,造成SDK编译过程中错误的元凶了!

接着,在Platform Builder环境中的Catalog中寻找对应的组件。具体做法:
    1.在Catalog界面的空白区右击鼠标,找到"Find"选项进行查询,比如要查询SYSGEN_DOTNET=1对应的组件,那就在Find what box中填入"SYSGEN_DOTNET",点击"Find next",这样就在Catalog区域标识出SYSGEN_DOTNET对应的组件,如图1所示;


    2.对照SYSGEN_DOTNET对应的组件在Catalog中结构路径,在OSDesign View选项卡中找到同样的组件,一般这个最近会标识为"OSDesignView",即未锚定的组件,如图2所示;


    3.OSDesign View选项卡中,右击未锚定的组件,选中"Remove Item from User-specified Catalog Item(s).",这样就在定制的系统中删除了未锚定的组件;
    4.重复步骤1到步骤3,删除完在之前找出的Sysgen variables,既是为锚定的组件,删除之;
    5.保存设置,否则容易在随后的漫长等待中出现意外(也不知道为啥,我的PB5.0[打了2007补丁]很多时候,在执行Config SDK时会卡个几个重头,真是让人郁闷!);
    6.这样,就可以去正确的生成这个平台所对应的SDK了,构建SDK完成后,点击DONE结束,如图3、图4;

图4 完成SDK导出的画面
    7.最后,在%_WINCEROOT%\PBWorkspaces\<工程名>\SDK\下就可以生成基于你定制的平台的SDK了!!而在该文件夹中的packinglist文件就是详细说明该SDK包含的组件和文件列表。
-------------------------------------------------------
   如有不明白或想更详细的了解这一错误,可参见微软官方技术支持帖子:“http://support.microsoft.com/kb/906459/en-us”

0 0