Я скачал предварительно собранные двоичные файлы 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);
Я получаю ошибку компоновщика:
Может ли кто-нибудь помочь мне здесь?
Я скучаю по -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 */
У меня была та же проблема, и я решил ее с помощью этого метода:
Скопируйте файл dll, если вы найдете в папке \ poppler-0.24.5-win32 \ bin \ папку, в которой Qt создает исполняемый файл. Затем загрузите zlib1.dll и вставьте эту dll в папку, где Qt генерирует исполняемый файл. Попробуй сейчас.
Это работает для меня. Я скомпилировал с qt 5.3 в Windows XP SP3.