• 6348阅读
  • 3回复

[讨论]symbian手机打开本地通信录操作问题 [复制链接]

上一主题 下一主题
离线shyy3310
 
只看楼主 倒序阅读 楼主  发表于: 2011-03-13
使用qt creator如何调用symbian的本地通信录。看了好多网上的资料。好多都是使用carbide的编写。
我用的sdk是s60 3rd FP2 。好多网上的资料都是用CContactDatabase(通讯录数据类)等几个类。
还说要在.mmp文件中添加 LIBRARY cntmodel.lib
另外需要添加一些能力: ReadUserData,WriteUserData
在qt creator中我也不知道在那里添加。
只是在项目的目录中会有一个xxx_exe.mmp的文件。也不知道是不是这个。
在程序中添加如下代码就会报错也不清楚是什么原因。
//打开默认数据库
CContactDatabase* contactsDb = CContactDatabase::OpenL();
CleanupStack::PushL(contactsDb);
//取得当前数据库所有通讯条目数
TInt numberOfContacts = contactsDb->CountL();
//释放数据库
CleanupStack::PopAndDestroy(contactsDb);

如下错误
mwldsym2.exe: Undefined symbol: 'class CContactDatabase * CContactDatabase::OpenL(enum CContactDatabase::TThreadAccess) (?OpenL@CContactDatabase@@SAPAV1@W4TThreadAccess@1@@Z)'
mwldsym2.exe: referenced from 'MainWindow::MainWindow(class QWidget *) (??0MainWindow@@QAE@PAVQWidget@@@Z)' in mainwindow.cpp:29
mwldsym2.exe: Undefined symbol: 'int CContactDatabase::CountL(void) (?CountL@CContactDatabase@@QAEHXZ)'
mwldsym2.exe: referenced from 'MainWindow::MainWindow(class QWidget *) (??0MainWindow@@QAE@PAVQWidget@@@Z)' in mainwindow.cpp:32
make[1]: Leaving directory `C:/Project/b'
make -r -f "\S60\devices\S60_3rd_FP2_SDK_v1.1\EPOC32\BUILD\Project\b\WINSCW.make" FINAL CFG=UDEB VERBOSE=-s

Errors caused tool to abort.
make[2]: *** [\S60\devices\S60_3rd_FP2_SDK_v1.1\epoc32\release\WINSCW\udeb\b.exe] Error 1
make[1]: *** [TARGETB_EXE] Error 2
离线梅克斯
只看该作者 1楼 发表于: 2011-03-14
Qt-mobility   contact
离线shyy3310
只看该作者 2楼 发表于: 2011-03-14
Qt-mobility   contact   是什么意思。能说的详细点吗?
离线shyy3310
只看该作者 3楼 发表于: 2011-03-14
找到原因了。在.pro文件中添加如下代码:
symbian:TARGET.CAPABILITY += NetworkServices ReadUserData WriteUserData  
unix|win32: LIBS += -lcntmodel

开始是不知道怎么添加库和能力。现在知道了。
快速回复
限100 字节
 
上一个 下一个