我在Qt应用程序中使用利布卡。我按照read文件中的指示在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;
}
}
}误差
在主要职能方面: /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: error: undefined reference tovCard::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的引用(QString const&,QList const&,bool) constvCard::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 const&,bool)’的引用
我不知道我做错了什么。为了使用这个库,我应该向项目文件中添加一些内容吗?
发布于 2012-06-12 22:17:23
vcard是外部库,所以链接器必须知道,在哪里查找使用过的符号。您需要链接到vcard库。在.pro文件中添加
LIBS += vcardhttps://stackoverflow.com/questions/10996913
复制相似问题