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

标签 ubuntu qt4 vcf-vcard

我正在使用libvcard在 Qt 应用程序中。我按照自述文件中的说明在 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;
        }

    }

}

错误

In function main:

/home/ubuntu/Workspace/Qt/cVCardTest-build-desktop-Desktop_Qt_4_8_1_for_GCC__Qt_SDK__Debug/../cVCardTest/main.cpp:8:

error: undefined reference to `vCard::fromFile(QString 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&, 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 tovCard::property(QString const&, QList const&, bool) const' '

我不知道我做错了什么。 我应该在项目文件中添加一些内容才能使用这个库吗?

最佳答案

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

LIBS += vcard

关于ubuntu - 尝试在 Qt 应用程序中包含 libvcard 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10996913/

相关文章:

python - 找不到满足 PyQt4 要求的版本(来自版本 : )

android - 我怎么知道我的安卓手机 "Contacts APP"支持哪个版本的 vCard?

python - 为所有简单的 pip 安装包授予 sudo 权限

qt - 生成的 moc 名称不正确

ubuntu - 如何在ubuntu上卸载zend studio

qt - 如何从 Qt 中的应用程序关闭已打开的浏览器

iphone - 在 iOS 5.0/XCode 4.2 中使用带有 ABAddressBook 的电子名片

ubuntu-18.04 - 如何以编程方式将数据导入 Gnome 联系人?

c - 在 Ubuntu 目录中列出文件

mongodb - monit 无法读取 mongod.lock