关于使用Carbide编译及配置的一点注意事项
1、生成的目标文件名可以在***.mpp里设置,如:TARGET handler.app
2、目标文件名将在“$(EPOCROOT)Epoc32"release"$(PLATFORM)"$(TARGET)"”文件夹里生成,如上面生成的目标文件为“$(EPOCROOT)Epoc32"release"$(PLATFORM)"$(TARGET)"handler.app”
3、修改了目标文件名后,需要手动的修改pkg文件,如:
"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\handler.app" -"!:\system\apps\handler\handler.app"
如果目标文件名修改成Handler1.app上面的也需要修改,SDK不会自动帮你删掉handler.app,它还会指向原来的handler.app文件,此时新生成的handler1.app没有打入包里,会造成程序混乱。
4、修改了目标文件名后,需要重新定义_reg.rss文件注册app,如:app_file="handler1";
5、在S60 2nd中,应用程序存入手机的位置是和应用程序名紧密联系的,如果应用程序名改变,存入的位置也要随着改变,编译后资源文件名也要改变,如:
"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\handler.app" -"!:\system\apps\handler\handler.app"
"$(EPOCROOT)Epoc32\data\z\system\apps\handler\handler.rsc" -"!:\system\apps\handler\handler.rsc"
"$(EPOCROOT)Epoc32\data\z\system\apps\handler\handler.aif" -"!:\system\apps\handler\handler.aif"
"$(EPOCROOT)Epoc32\data\z\system\apps\handler\handler.rsc" -"!:\system\apps\handler\handler.rsc"
"$(EPOCROOT)Epoc32\data\z\system\apps\handler\handler.aif" -"!:\system\apps\handler\handler.aif"
要改成
"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\handler1.app" -"!:\system\apps\handler1\handler1.app"
"$(EPOCROOT)Epoc32\data\z\system\apps\handler\handler.rsc" -"!:\system\apps\handler1\handler1.rsc"
"$(EPOCROOT)Epoc32\data\z\system\apps\handler\handler.aif" -"!:\system\apps\handler1\handler1.aif"
"$(EPOCROOT)Epoc32\data\z\system\apps\handler\handler.rsc" -"!:\system\apps\handler1\handler1.rsc"
"$(EPOCROOT)Epoc32\data\z\system\apps\handler\handler.aif" -"!:\system\apps\handler1\handler1.aif"
而在S60 3rd中,只需要改变输出文件名即可,路径无需改变。如:
"$(EPOCROOT)Epoc32\release\$(PLATFORM)\$(TARGET)\handler.exe" -"!:\sys\bin\handler1.exe"
"$(EPOCROOT)Epoc32\data\z\resource\apps\handler.rsc"-"!:\resource\apps\handler1.rsc"
"$(EPOCROOT)Epoc32\data\z\resource\apps\handler_loc.rsc"-"!:\resource\apps\handler1_loc.rsc"
"$(EPOCROOT)Epoc32\data\z\private\10003a3f\apps\handler_reg.rsc"-"!:\private\10003a3f\import\apps\handler1_reg.rsc"
"$(EPOCROOT)Epoc32\data\z\resource\apps\handler.rsc"-"!:\resource\apps\handler1.rsc"
"$(EPOCROOT)Epoc32\data\z\resource\apps\handler_loc.rsc"-"!:\resource\apps\handler1_loc.rsc"
"$(EPOCROOT)Epoc32\data\z\private\10003a3f\apps\handler_reg.rsc"-"!:\private\10003a3f\import\apps\handler1_reg.rsc"
注意:S60 3rd与S60 2nd目标路径有很大的不同。