使用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