我在Qt应用程序中使用libvcard。我按照自述文件中的说明在Ubuntu上安装了库(即我在项目文件上运行qmake
,make
,sudo make install
但是当我尝试从网站运行此代码时,我收到一堆错误。
#include <QtCore/QCoreApplication>
#include <vcard/vcard.h>
#include <QtDebug>
int main(int argc, char *argv[])
{
// Now we can parse it...
QList<vCard> vcards = vCard::fromFile("/home/ubuntu/Desktop/Contacts.vcf");
// ...and then we can use it.
if (!vcards.isEmpty())
{
vCard vcard = vcards.takeFirst();
vCardProperty name_prop = vcard.property(VC_NAME);
if (name_prop.isValid())
{
QStringList values = name_prop.values();
QString firstname = values.at(vCardProperty::Firstname);
QString lastname = values.at(vCardProperty::Lastname);
qDebug()<<firstname<<" "<<lastname;
}
}
}
错误
在功能主要:
/家庭/ ubuntu的/工作区/ QT / cVCardTest-集结桌面Desktop_Qt_4_8_1_for_GCC__Qt_SDK__Debug /../ cVCardTest / main.cpp中:8:
错误:未定义引用`vCard :: fromFile(QString const&amp;) /home/ubuntu/Workspace/Qt/cVCardTest-build-desktop-Desktop_Qt_4_8_1_for_GCC__Qt_SDK__Debug/../cVCardTest/main.cpp:15:
错误:未定义引用
vCard::property(QString const&, QList<vCardParam> const&, bool) const /home/ubuntu/Workspace/Qt/cVCardTest-build-desktop-Desktop_Qt_4_8_1_for_GCC__Qt_SDK__Debug/../cVCardTest/main.cpp:15: error: undefined reference to
vCard :: property(QString const&amp;,QList const&amp;,bool)const' “
我不确定我做错了什么。 我应该在项目文件中添加一些东西才能使用这个库吗?
答案 0 :(得分:2)
vcard是外部库,因此链接器必须知道,在哪里查找使用过的符号。您需要链接vcard库。在.pro文件中添加
LIBS += vcard