2

Qt アプリケーションでlibvcardを使用しています。read me ファイルの指示に従って Ubuntu にライブラリをインストールしました (つまり、プロジェクト ファイルqmakemake,sudo make installを実行しました) が、Web サイトからこのコードを実行しようとすると、大量のエラーが発生します。

   #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;
        }

    }

}

エラー

関数メインで:

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

エラー: `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:

エラー: 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' '

何が間違っていたのかわかりません。このライブラリを使用するには、プロジェクト ファイルに何かを追加する必要がありますか?

4

1 に答える 1

2

vcard は外部ライブラリであるため、リンカーは、使用されているシンボルを探す場所を知っている必要があります。vcard ライブラリとリンクする必要があります。.pro ファイルに追加します

LIBS += vcard
于 2012-06-12T22:17:23.760 に答える