Qt5: странная ошибка компоновщика Поплера

Я скачал предварительно собранные двоичные файлы Win32 poppler из эта страница. Добавлен путь к папке include и папке lib в файле .pro:

INCLUDEPATH += "C:\\test_folder\\poppler-0.24.5-win32\\include\\poppler-qt5"LIBS += -L/"C:\\test_folder\\poppler-0.24.5-win32\\lib"

В main.cpp я включаю «poppler-qt5.h» без ошибок, поэтому я думаю, что poppler был добавлен правильно. Однако при тестировании, открыв файл PDF, как описано здесь,

QString path = "C:\\Windows\\System32\\spool\\PRINTERS\\test_file.pdf";
Poppler::Document *doc = Poppler::Document::load(path);

Я получаю ошибку компоновщика:

Сообщение об ошибке

Может ли кто-нибудь помочь мне здесь?

1

Решение

Я скучаю по -l в строке LIBS

LIBS += -L/"C:\\test_folder\\poppler-0.24.5-win32\\lib" -lpoppler-qt5

В конце концов переименуйте библиотеку, поскольку .dll.a не является стандартным расширением в Windows.

Редактировать: Работает без переименования библиотеки:

.Pro File:

INCLUDEPATH += $$quote(D:\Users\username\Downloads\poppler-0.24.5-win32\poppler-0.24.5-win32\include\poppler-qt5)
LIBS += -L$$quote(D:\Users\username\Downloads\poppler-0.24.5-win32\poppler-0.24.5-win32\lib) -lpoppler-qt5

.файл cpp:

#include <QApplication>
#include <mycpp.h>

#include <poppler-qt5.h>

/* Some Code here */
QString path = "D:\\SomePDF.pdf";
Poppler::Document *doc = Poppler::Document::load(path);
/* More Code here */
0

Другие решения

У меня была та же проблема, и я решил ее с помощью этого метода:

Скопируйте файл dll, если вы найдете в папке \ poppler-0.24.5-win32 \ bin \ папку, в которой Qt создает исполняемый файл. Затем загрузите zlib1.dll и вставьте эту dll в папку, где Qt генерирует исполняемый файл. Попробуй сейчас.
Это работает для меня. Я скомпилировал с qt 5.3 в Windows XP SP3.

0

По вопросам рекламы [email protected]