Использование внешней библиотеки (libarchive) в файле Qt - No .lib - PullRequest
0 голосов
/ 02 декабря 2011

Я собрал libarchive для Linux и Windows, следуя инструкциям по сборке.

В основном у меня есть несколько файлов .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 голосов
/ 01 февраля 2016

На самом деле, LIBS += -L$$PWD/libarchive/lib/ -llibarchive должно быть LIBS += -L$$PWD/libarchive/lib/ -larchive

0 голосов
/ 05 декабря 2011

Я обнаружил, что проблема в том, что исполняемый файл не может найти связанный файл .dll.Это можно исправить, поместив файл libarchive.dll в тот же каталог, что и исполняемый файл, и он будет настолько счастлив, насколько это возможно: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...