如何打包S60 3rd SDK自带例子

来源:互联网 发布:域名注册 时代互联 编辑:程序博客网 时间:2024/04/29 18:22

     开发工具:ActivePerl5.6.1、S60 3rd、Carbide.C++3.1.

     在开发过程中,遇到一个问题,S60 3rd SDK自带的源码在模拟器上能够正确编译、运行,但就是不能打包。而用Carbide.C++生成的工程能够正确打包,也能够运行。后来,通过比较,发现了其中的问题原因。

     1、检查工程下的“.cproject”文件

     打开“.cproject”文件,找到“<storageModule moduleId="CarbideConfigurationDataProvider">”,如果节点内容为:

     <storageModule moduleId="CarbideConfigurationDataProvider">
       <ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
    </storageModule>,修改该节点为:

        <storageModule moduleId="CarbideConfigurationDataProvider">
         <SIS_BUILDER_DATA_ID CREATESTUBSTORAGE="false" ENABLEDSTORAGE="true" HASSISCHANGES="false"      HASSISXCHANGES="false" PKGFILESTORAGE="sis/XXXX.pkg" SIGNINGTYPESTORAGE="1"/>
         <ENV_VAR_DATA_ID/>
       <ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
    </storageModule>

   XXXX.pkg你工程的pkg文件。

     2、检查工程下的pkg文件

     一般打包不成功的原因都在pkg文件上。

     检查这些代码:

     "../../../epoc32/release/gcce/urel/Filelist.exe"   -"!:/sys/bin/Filelist.exe"
     "../../../epoc32/data/z/resource/apps/Filelist.rsc"   -"!:/resource/apps/Filelist.rsc"
     "../../../epoc32/data/z/private/10003a3f/import/apps/Filelist_reg.rsc"  -"!:/private/10003a3f/import/apps/Filelist_reg.rsc"
     "../../../epoc32/data/z/resource/apps/Filelist.mif"   -"!:/resource/apps/Filelist.mif"

    确保引用的地址正确。“"../../../”表示安装的模拟器地址目录层数。

    按照以上步骤修改完毕之后,就可以正确打包应用程序了。

原创粉丝点击