在Qt中使用外部库(libarchive) - 没有.lib文件

时间:2011-12-02 08:30:03

标签: c++ qt dll

我按照构建说明在Linux和Windows上构建了libarchive。

基本上我有一些.a文件和一个dll,但没有.lib文件。我想将我的Qt项目链接到这个库,但我看到的所有示例都需要一个.lib文件,但似乎没有。

这是我的.pro包含的内容:

LIBS += -L$$PWD/libarchive/lib/ -llibarchive

INCLUDEPATH += $$PWD/libarchive/include
DEPENDPATH += $$PWD/libarchive/include

我的代码是:

#include <QtGui/QApplication>
#include <archive.h>
#include <archive_entry.h>

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);

    struct archive *a;
    a = archive_read_new();

    return app.exec();
}

找到标题,项目构建,但是一旦我尝试运行它就会死掉。

2 个答案:

答案 0 :(得分:0)

我发现问题是可执行文件无法找到关联的.dll文件。可以通过将libarchive.dll文件放在与可执行文件相同的目录中来修复它,它可以很高兴: - )

答案 1 :(得分:0)

实际上,LIBS += -L$$PWD/libarchive/lib/ -llibarchive应为LIBS += -L$$PWD/libarchive/lib/ -larchive