在 Qt 中使用外部库(libarchive) - 没有 .lib 文件
Posted
技术标签:
【中文标题】在 Qt 中使用外部库(libarchive) - 没有 .lib 文件【英文标题】:Using External Library (libarchive) in Qt - No .lib file 【发布时间】:2011-12-02 08:30:02 【问题描述】:我已经按照构建说明在 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();
找到了标头,构建了项目,但我一尝试运行它就死掉了。
【问题讨论】:
【参考方案1】:我发现问题在于可执行文件未能找到关联的 .dll 文件。可以通过将 libarchive.dll 文件与可执行文件放在同一目录中来修复它,并且非常高兴:-)
【讨论】:
【参考方案2】:其实LIBS += -L$$PWD/libarchive/lib/ -llibarchive
应该是LIBS += -L$$PWD/libarchive/lib/ -larchive
【讨论】:
以上是关于在 Qt 中使用外部库(libarchive) - 没有 .lib 文件的主要内容,如果未能解决你的问题,请参考以下文章