1

我从这个页面下载了预建的 win32 poppler 二进制文件。在 .pro 文件中添加了 include 文件夹和 lib 文件夹的路径:

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);

我收到一个链接器错误:

错误信息

有人可以帮我吗?

4

2 回答 2

0

我有同样的问题,我用这个方法解决了它:

如果您在文件夹 \poppler-0.24.5-win32\bin\ 中找到 dll 文件,请将其复制到 Qt 生成可执行文件的文件夹中。然后下载 zlib1.dll 并将这个 dll 插入到 Qt 生成可执行文件的文件夹中。现在试试。这对我有用。我在 Windows XP SP3 中使用 qt 5.3 编译。

于 2014-05-28T15:22:26.700 回答
0

我在 yout LIBS 行中缺少 -l

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

最终重命名 lib,因为 .dll.a 不是 Windows 中的标准扩展名。

编辑:无需重命名库即可工作:

。轮廓:

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 */
于 2014-03-20T15:05:25.083 回答