调试,错误,模拟器

本文分享了Symbian C++ 开发中常见的问题及解决方案,包括内存分配错误、字符串资源引用、路径配置等,对于Symbian开发者来说极具参考价值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.bmp也可以CImageDecoder::FileNewL()进行转换,转换后可能只有一张图,没有掩码图。 这在N73上会报错误。在N95,E71上通过。

 

1.在编译模拟器执行文件时,如果栈内分配的内存太大,会遇到error lnk2001: unresolved external symbol __

这个错误的解决办法就是 在mmp中加入

#if defined (WINS)
SOURCE    chkstk.c
#endif

chkstk.c文件内容是:
#include "chkstk.h"
void _chkstk(){}

chkstk.h文件内容是:
#ifndef CHKSTK_H
#define CHKSTK_H
void _chkstk();
#endif

从新编译整个工程,问题解决!

 

2.在rss中定义的字符串是给在程序中访问这些字符串用的,在rss中要直接使用.rls中的名字.

3.当重新编译仍提示找不到.rsg时,删除Epoc32\data\z\system\apps下的对应的应用程序的目录,然后再编译.

4.在打包时遇到pkg文件中unknown line,置pkg最后一行为分号,解决,还不知道为什么.

5.在只装了Vc2003未装有vc6时,命令行编译symbian2版项目, 出现一些错误,把D:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin,D:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDE 加入path.解决.

6.class CRImage;只在头文件中存在前向声明,在cpp中调用了基类的方法得到CRImage的对象,但在删除这个对象时,出现了空指针.需要在cpp中再包含CRImage的头文件来解决.

不要忽略警告!

 

 

7.必须要把C类写在前面

详细请参考《Symbian os C++ 高效编程》第8页,第8行,以及注释1。
 


8.在模拟器中,代码中可以找到E盘并在里面创建文件,并且可以再读到内容,但手动却找不到这个文件夹。

在/epoc32/data/epoc.ini中,添加 _EPOC_DRIVE_E /epoc32/winscw/e,然后创建epoc32/winscw/e目录,重启模拟器。

另外参考使用 PathInfo::MemoryCardRootPath(); 获取存储卡目录。

 

9.Tools > Preferences 提示 Cannot start ECMT Manager

默认识别Jre5.0, 而我机器上装的是比这个高的版本6.0。

解决方法:打开<installation_path>/Epoc32/tools/ecmt/config/config.properties, 

可以看到其中一行是epdt.java.version.start=1.4.1,1.4.2,1.5,5.0

如果你装的是Jre6.0, 则将此行修改为:

epdt.java.version.start=1.4.1,1.4.2,1.5,5.0,1.6,6.0

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值