undefined identifier 'TDllReason'怎么弄啊?

theer 2009-06-18 10:05:21
我用的是carbide.c++ 2.0,SDK是 3rd Edition FP1 SDK.

DynamicSettingList是我在网上下的一个程序。可编译是出现在下面错误:

undefined identifier 'TDllReason' DynamicSettingList.cpp DynamicSettingList_S60_3rd_ed/src line 51 C/C++ Problem



怎么解决啊????求高手~~~
...全文
822 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhouhui2315 2010-07-19
  • 打赏
  • 举报
回复
很奇怪,导入的工程不会显示在安装的目录下
xinwangzi 2009-11-07
  • 打赏
  • 举报
回复
可将此附件<a href ="http://www.forum.nokia.com/document/Forum_Nokia_Technical_Library/contents/FNTL/NCNList_fix.zip" >NCNList_fix.zip‎</a>解压后,放到SDK安装目录中,覆盖原有部分。
xinwangzi 2009-11-07
  • 打赏
  • 举报
回复
当启动S60第三版FP1模拟器时出现NCNList KERN-EXEC 3错误的问题
From Forum Nokia Wiki
设备, 软件 版本:
S60 3rd Edition, FP1




详细描述
当启动S60第三版FP1 SDK模拟器时,可能会显示“Application closed: ncnlist KERN-EXEC 3”错误警告。当警告消失时,模拟器就可以正常使用了,不过MTM开发者可能无法使用New Message Notification API来处理新消息来时对用户的通知。




如何重现
启动模拟器,并且将模拟器选项中的“Extended panic info file”勾上,你就会看到该错误。




解决方案
要解决这个问题,可将此附件NCNList_fix.zip‎解压后,放到SDK安装目录中,覆盖原有部分。

Retrieved from "http://wiki.forum.nokia.com/index.php/%E5%BD%93%E5%90%AF%E5%8A%A8S60%E7%AC%AC%E4%B8%89%E7%89%88FP1%E6%A8%A1%E6%8B%9F%E5%99%A8%E6%97%B6%E5%87%BA%E7%8E%B0NCNList_KERN-EXEC_3%E9%94%99%E8%AF%AF%E7%9A%84%E9%97%AE%E9%A2%98"
chenzhp 2009-06-18
  • 打赏
  • 举报
回复
什么现象?描述一下
theer 2009-06-18
  • 打赏
  • 举报
回复
谢谢楼上的。
我改了,程序编译可以通过了,但运行不了啊。在模拟器上显示程序已经关闭了。。。
怎么样才能让这个程序正常运行呢???
chenzhp 2009-06-18
  • 打赏
  • 举报
回复
版本不对哦
Symbian V9以前应用是以线程的形式被系统调用的,V9以后已经不在使用DLL结构了,并且可以使用全局变量了,程序也是以进程的形式被系统调用.

GLDEF_C TInt E32Dll(TDllReason /*aReason*/)
{
return (KErrNone);
}


改为

GLDEF_C TInt E32Main()
{
return KErrNone;
}

zengcity 2009-06-18
  • 打赏
  • 举报
回复
要不 换个SDK吧,试试FP2
theer 2009-06-18
  • 打赏
  • 举报
回复
运行程序时没有反应。而且在HookLogger里弹出个对话框


是什么问题啊?
chenzhp 2009-06-18
  • 打赏
  • 举报
回复
HookLOGGER的使用方法:
在使用Symbian进行开发时经常会忘记释放我们曾经使用过的内存或指针,从而导致我们在模拟器中最后退出软件时会爆出提示,而检验遗漏的内存是程序员的天职所在,所以我们要想做好Symbian的开发,就必须熟悉如何查找内存,而Symbian SDK中提供了一个很好的工具HookLogger用来检验我们的内存操作。
下面所提到的是2008年5月1日版(0.423 rc版)

下载:
http://developer.symbian.com/main/downloads/files/HookLogger.msi这个是官方的链接地址。
安装:
至于安装并没有像很多文章中所说的那么复杂,我只是安装在默认的目录,

1、安装完毕后启动HookLogger的应用程序,这是可以启动模拟器,一般会有一个提示说是你的HookLogger和模拟器没有Hook上,你就直接点击确定并关闭模拟器(不要急着把HookLogger也关了)。

2、设置系统环境变量,新建一个环境变量,名称为epocroot,变量值为/Symbian/9.1/S60_3rd。重新启动操作系统。

3、打开Windows的命令控制台(开始菜单中单击运行,输入cmd然后就按下回车),跳转到你所安装的HookLogger的目录(如默认的 C:\Program Files\HookLogger,这里要在控制台中输入 cd C:\Program Files\HookLogger然后回车),输入命令SetupHooks,回车;会弹出一些提示信息,接着输入SetupHooks epocroot, 回车。

4、在HookLogger的Filters的Tab页面中,左侧的下拉菜单中选择Include only checked,在下面的Browse for EXE的按钮中选中你要进行调试的那个工程的模拟器对应的exe程序,一般在C:\Symbian\9.1\s60_3rd\release \winscw\udeb\中,而文件名一般是你的工程名。

5、设置完毕后启动模拟器,在模拟器中运行你要调试的那个程序,直到退出时爆出 Alloc ********(16位的地址),这时在HookLogger的Heap的Tab,单击第三个按钮(List all alloc),你会发现该页面中有一列Ptr,在这一列中找到你的那个对应的地址(Alloc中的********),然后用鼠标选中这一行,单击下面的第四个按钮(Alloc details)这时会弹出一个对话框,找到第一个有关你的类名及函数名的位置(这里就是根源所在),在#后的数字就是你的内存泄露所在的位置。

6、跳到你的源文件中步骤4的位置,找出你的内存泄露出现在哪里,这样你就可以进行下一步调试了。
chenzhp 2009-06-18
  • 打赏
  • 举报
回复
那说明你的程序有问题。这种提示一般都是你的指针有问题。查查有没有野指针,二阶段构造是否正确。内存是否回收。如果在模拟器上,你可以用hooklogger查一查。
theer 2009-06-18
  • 打赏
  • 举报
回复
DynamicSettingList这个程序也是运行不了的。它open的时候也是那个提示。
chenzhp 2009-06-18
  • 打赏
  • 举报
回复
刚开始出现的这个提示不用管,只要你的程序不报错就OK。
theer 2009-06-18
  • 打赏
  • 举报
回复
我的模拟器单独运行的时候,一开始也出现了
Application closed:ncnlist KERN-EXEC3
这个提示。。。。。
怎么解决啊?
theer 2009-06-18
  • 打赏
  • 举报
回复
程序运行起来之后,模拟器的installations里也有程序图标,但运行它时就显示
Application closed:ncnlist KERN-EXEC3
这是什么问题啊?

3,120

社区成员

发帖
与我相关
我的任务
社区描述
塞班系统(Symbian系统)是塞班公司为手机而设计的操作系统,它的前身是英国宝意昂公司的 EP ( Electronic Piece of cheese)操作系统。
社区管理员
  • Symbian社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧