尝试在Qt应用程序中包含libvcard时出错

时间:2012-06-12 12:43:49

标签: ubuntu qt4 vcard

我在Qt应用程序中使用libvcard。我按照自述文件中的说明在Ubuntu上安装了库(即我在项目文件上运行qmakemakesudo 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'   “

我不确定我做错了什么。 我应该在项目文件中添加一些东西才能使用这个库吗?

1 个答案:

答案 0 :(得分:2)

vcard是外部库,因此链接器必须知道,在哪里查找使用过的符号。您需要链接vcard库。在.pro文件中添加

LIBS += vcard