Carbide C++生成sis文件_hermitage_百度空间

sis是打包安装文件(需要pkg文件,pkg里有要打包的文件列表和规则)
生成sis的过程是 :编译+链接=目标文件 --> makesis生成sis包 -->证书签名=sisx包
1.项目右键 -> properties -> carbide.c++ -> carbide build configuration -> sis builder -> add 在SIS Properties面板的PKG File添加 pkg文件。
2.在Configurations 中选择armv5 release菜单选择编译方式。意思是用 armv5 编译器编译 Realse 版程序。
然后执行菜单“Project / Build Project”编译项目。
对于经常出现的错误   “File I/O fault.”这个错误是指文件目标不明确,将下面的$(EPOCROOT),$(PLATFORM)\$(TARGET)用相应文件夹地址代替即可!
$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\helloworld_0xE60906CC.exe"
重新Build后即可生成sis。
生成sis文件后去
下载s60证书签名专家,生成签名文件sisx


1.1 安装SDK
{dy}步,到Nokia论坛注册,下载{zx1}的SDK。Nokia 网站提供的Series 60 SDK for Symbian OS Nokia Edition SDK{zx1}版本是v1.2,Series 60 SDK for Symbian OS的{zx1}版本是v2.1。下载网址:

注: Series 60 SDK v1.2有一个bug,模拟器不能正常使用,解决方案见本文尾部。
第二步,到
网站下载{zx1}的Active Perl Script 安装程序。到 下载{zx1}的J2RE。
第三步:安装SDK,推荐为Symbian开发单独建一个目录,例如d:\Symbian而不是使用C:\program files等这样的目录。
第四步:安装Active Perl和J2RE,安装到默认目录即可。
第五步:(1.2 不用配置环境变量)检查环境变量设定。打开系统环境变量tab,然后看看有没有EPOCROOT,如果有的话,把它手动改成“\” 。改完之后应该是这个样子的:
EPOCROOT = \Symbian\7.0s\Series60_v21_C\
然后,在系统PATH中加入
\epoc32\gcc\bin
以及 D:\Symbian\7.0s\Series60_v21_C\Epoc32\tools(注如果为\Epoc32\tools创建项目后VC会提示无法将指定的工程添加到项目中 )
实际上,Symbian SDK根本不用安装,直接把epoc32目录拷贝到一个机器上,然后照上述方法设定目录和环境变量就可以了。
1.2 配置VC (注意项目要创建在SDk所在分区的根目录下 )
如果我们使用的是VC 6.0,我们要保证系统至少打了SP3补丁,否则系统会有警告提示。如果我们使用的是VS.NET2003, 我们就只能安装Series 60 SDK for Symbian OS v2.1,因为Series 60 SDK for Symbian OS Nokia Edition SDK v1.2在VS.NET2003无法正确建立工程。
如果要直接在vc6里创建新项目,要把\Symbian\6.1\Series60\Series60Tools\ Application Wizard目录下的 AvkonAppWiz.awx和AVKONAPPWIZ.HLP文件拷贝到vc6的模板目录C:\Program Files\ Microsoft Visual Studio\ Common\ MSDev98\ Template下。这样我们就可以在VC的新建工程中看到Series 60 AppWizard v 1.9这个选项.
填入Project Name 以后,确认。
一路“Next”,一个最简单的Symbian应用程序就建立好了。

如果要将已经建立好的工程导入到VC6.0中,可以直接编译,否则用命令提示符模式进入项目的group目录下,然后执行:
bldmake bldfiles
这个命令会在group目录下生成一个abld.bat的批处理文件,并且会在\Symbian \6.1\Series60\Epoc32\BUILD下生成\Symbian\6.1\Series60\Epoc32\BUILD\SYMBIAN \6.1\ SERIES60\SERIES60EX\HELLOWORLD\GROUP这个目录,并在{zd2}层目录下生成一堆 .make文件。
然后,我们在同一个目录运行刚才生成的abld.bat:
abld makefile vc6
这样就会自动生成vc6的dsw文件,位置在\Symbian\6.1\Series60\Epoc32\BUILD\ SYMBIAN\6.1\ SERIES60\SERIES60EX\HELLOWORLD\GROUP\HELLOWORLD\WINS。然后我们就可以在VC6种打开这个 Symbian工程了。

2 编译
我们可以直接使用SDK提供的工具编译Symbian 工程,也可以使用VC6提供的集成环境来编译转化过的Symbian 工程。编译的结果存放在\Symbian\6.1\Series60\Epoc32\ Release\wins\UDEB\Z\SYSTEM\apps目录中。
2.1使用SDK提供的工具编译Symbian 工程
我们在上一节的那个位置继续输入:
abld build wins udeb
这个命令会编译我们的程序,{zh1}在\Symbian\6.1\Series60\Epoc32\Release\wins\UDEB目录下生成我们的helloworld,然后我们可以从开始菜单里运行模拟器的debug版,在模拟其中就可以运行helloworld了。
2.2 使用VC6编译Symbian 工程
我们直接打开运行abld makefile vc6后生成的dsw文件,VC自动装载转化过的工程。按F7便可以直接编译工程,编译结果同样放在\Symbian\6.1\Series60 \Epoc32\Release\ wins\UDEB目录中。然后我们打开模拟器debug 版,就可以看到我们编译好的工程了。
3 打包
我们以SDK 1.2提供的HelloWorld为例,制作可以在手机中安装的.SIS文件:
3.1.检查程序
首先,在命令行格式下,进入HelloWorld工程mmp文件所在目录,输入bldmake bldfiles和abld build wins udeb,然后打开模拟器,检测程序有无错误。
3.2.编译工程
在程序无错误后,在命令行输入abld build armi urel 。执行这个命令之后会在目录d:\symbian\6.1\series60\epoc32\release\armi\urel生成 HELLOWORLD.APP和HELLOWORLD.RSC两个文件。
3.3.建立.pkg文件
      注:用VC向导创建的项目时,在项目目录下有命名为sis(install)的文件夹下已经创建好了pkg文件,只需要对安装文件及其路径进行修改即可。另外手动生成PKG文件时注意平台和app的UID
在d:\Symbian\6.1\Series60\Series60Ex\helloworld\sis 用记事本建立或者修改工程的pkg文件,内容如下:

; HelloWorld.pkg

;

;Language - standard language definitions

&EN

; standard SIS file header

#{"HelloWorld"},(0x10005B91),1,0,0

;Supports Series 60 v 1.2

(0x101F8202), 0, 0, 0, {"Series60ProductID"}

;

"d:\symbian\6.1\series60\epoc32\release\armi\urel\HelloWorld.APP"-"!:\system\apps\HelloWorld\HelloWorld.app"

"d:\symbian\6.1\series60\epoc32\release\armi\urel\HELLOWORLD.rSC"-"!:\system\apps\HelloWorld\HELLOWORLD.rSC"

其中,前面"d:\symbian\6.1\series60\epoc32\release\armi\urel \HELLOWORLD.rSC"是要打包安装的文件,"!:\system\apps\HelloWorld\HELLOWORLD.rSC"是安装的 目标位置。在其中要注意的是,我们在目标位置中用“!”代替了实际的盘符。这样做得好处是在用户安装的时候,手机系统会提示用户选择要安装的位置,这就给 了用户更大的灵活度。另外,在Symbian 系统中,安装的应用程序默认位置是“!:\system\apps ”。
编辑好pkg文件后,保存至相应目录。
3.4.打包程序
在命令行中,转至pkg文件所在目录,运行命令makesis HelloWorld.pkg


注: 1.2版Series 60 SDK后,如果没有安装在C盘,运行模拟器后会一直显示series60,其实这是1.2版SDK安装的bug.
解决办法:
      如果的确是安装在其他逻辑驱动器的话,可以通过修改模拟器的配置解决问题。
打开 \Symbian\6.1\Series60\Epoc32\Data\epoc.ini
这 是一个文本文件,可以用Note打开,一般情况下,该文件中会含有形如:_EPOC_DRIVE_X path的设置。这是指定模拟器可以访问的逻辑驱动器的盘符X:并且将它指向path描述的目录。模拟器启动时需要确知2个逻辑驱动器,rom Z盘和虚拟驱动器D盘。Z盘是自动分配的,D盘需要在上述配置文件中声明。请你检查一下_EPOC_DRIVE_D 后面的路径并把它改成X:\symbian\6.1\series60\epoc32\wins\d X是你安装SDK的驱动器(当然如果不把SDK安装在根目录的话,就写全路径)。重新启动模拟器试试?
      其他版本安装好后都配置完好了,不需要修改。



郑重声明:资讯 【Carbide C++生成sis文件_hermitage_百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——