Symbian OS S60 3rd platform 开发入门
2010-03-24 03:56:00 来源:WEB开发网入门读物
《developing series 60 applications a guide for symbian os C developers》
carbide.c++导入工程(比如示例程序)。File->Import->Symbian OS->Symbian OS Bld.inf file
1.问题:
Undefined symbol: 'CFbsBitmap::CFbsBitmap(void) (??0CFbsBitmap@@QAE@XZ)'
分析:
Undefined symbol 一般出现在头文件中有相关符号定义,但无法连接到相关库上。
解决:
在.mmp文件中的相关部分加入:
LIBRARY fbscli.lib
2.在.pkg中执行文件复制的语法:
“source” -“!:destination”
!表示文件安装的目的驱动器
不要忘记destination前面的一横 “-”
3.签名sis用两个工具:
makekeys
signsis
具体使用可以参见两个工具的帮助
4.模拟器与机器的区别:
模拟器上的默认路径与机器上的不同
5.DrawText的崩溃
CWindowGc & gc = SystemGc();
gc.DrawText(_L("Hello"), TPoint(10,10));
解决:需要先设置字体。
gc.UseFont(CCoeEnv::Static()->NormalFont());
gc.DrawText(/*KHello*/_L("Hello"), TPoint(10,10));
gc.DiscardFont();
别忘了DiscardFont()
6.获取文件的完整路径
void GetFullPathName(TDes& aFileName)
{
// Get default drive and path
TParse parse;
TFileName appPath;
TBuf<5> appDrive;
parse.Set(CEikonEnv::Static()->EikAppUi()->Application()->AppFullName(), NULL, NULL);
appPath.Copy(parse.DriveAndPath());
appDrive.Copy(parse.Drive());
// Parse the file name
parse.Set(aFileName, NULL, NULL);
if (parse.Drive().Length() == 0)
{
if (parse.Path().Length() == 0)
{ // Use default path and drive
aFileName.Insert(0, appPath);
}
else
{ // Use default drive
赞助商链接