在windows下编译poppler(exit with code 115215015)
博客专区 > xiangxw 的博客 > 博客详情
在windows下编译poppler(exit with code 115215015)
xiangxw 发表于7年前
在windows下编译poppler(exit with code 115215015)
  • 发表于 7年前
  • 阅读 2193
  • 收藏 6
  • 点赞 0
  • 评论 11

新睿云服务器60天免费使用,快来体验!>>>   

1.winkde

下载:http://windows.kde.org/download.php

安装winkde(安装路径不要有空格和中文),安装时选项如下 

  • Install Mode: Package Manager

  • Compiler Mode: MinGW4

要安装的软件包有

  • freetype (bin),

  • iconv (bin),

  • jpeg (bin),

  • libpng (bin),

  • libxml2 (bin),

  • openjpeg (bin),

  • poppler (bin & devel),

  • poppler-data (bin),

  • qt (bin & devel),

  • zlib (bin & devel)

2.配置

重要:将安装目录\kde\bin添加到环境变量

头文件在安装目录\kde\include\poppler,QT的绑定在安装目录\kde\include\poppler\qt4

动态库在安装目录\kde\lib

3.用QT测试

在工程文件test.p中加入以下几行

INCLUDEPATH+=d:/kde/include/poppler/qt4
LIBS+=-Ld:/kde/lib
LIBS+=-lpoppler-qt4

文件 main.cpp

#include<QApplication>
#include<QImage>
#include<QLabel>
#include<QDebug>
#include"poppler-qt4.h"

using namespace Poppler;

int main(int argc,char *argv[])
{
    QApplication app(argc,argv);
    QLabel * label=new QLabel;
    Document * document=Document::load("d:/test.pdf");
    if(!document)
        qDebug()<<"error load file!";
    Page * page=document->page(0);
    QImage image=page->renderToImage();
    label->setPixmap(QPixmap::fromImage(image));
    label->show();
    return app.exec();
}

若出现exit with code 155121什么的,是因为环境变量的设置还没有生效,注销或重启就行了

  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 37
博文 135
码字总数 7324
作品 1
评论 (11)
xiaoxing
您好,请问poppler是用图片的形式来显示pdf的吗?(renderToImage)
有别的方式可以显示吗?
xiangxw

引用来自“xiaoxing”的评论

您好,请问poppler是用图片的形式来显示pdf的吗?(renderToImage)
有别的方式可以显示吗?

官方给出的tutorial就是这样做的,其他的不是很了解http://people.freedesktop.org/~aacid/docs/qt4/
GuiLin
博主您好,我想用Qt做一个pdf阅读器,安装您的方法安装poppler,编写测试程序并编译之后总是提示exited with code -1073741511修改环境变量也没有解决,请问您碰到过这种问题吗?怎样解决?
xiangxw
我也遇到过,修改环境变量之后要重启
GuiLin

引用来自“xiangxw”的评论

我也遇到过,修改环境变量之后要重启

谢谢博主,我重启过了,不过依然是环境变量的问题,安装的软件太多,最后我换了qt版本把qt和kde的变量放到path最前面终于解决了。
thuai
博主。我用windows7。QtSdk 1.2。。QtCreator 2.4.1 。在.pro文件中添加
INCLUDEPATH+=d:/kde/include/poppler/qt4
LIBS+=-Ld:/kde/lib
LIBS+=-lpoppler-qt4

提示不能找到-lpoppler-qt4

请问你为什么这么设置LIBS啊? 谢谢。。
官方写的是UNIX上面的添加头文件和库的方法。。

xiangxw

引用来自“tanghuai”的评论

博主。我用windows7。QtSdk 1.2。。QtCreator 2.4.1 。在.pro文件中添加
INCLUDEPATH+=d:/kde/include/poppler/qt4
LIBS+=-Ld:/kde/lib
LIBS+=-lpoppler-qt4

提示不能找到-lpoppler-qt4

请问你为什么这么设置LIBS啊? 谢谢。。
官方写的是UNIX上面的添加头文件和库的方法。。

gcc编译器设置LIBS的方法就是这样的。你是不是没有装好winkde,你看下d:/kde/lib目录下有没有libpoppler-qt4.a,d:/kde/include/poppler/qt4下有没有相关的头文件
thuai
非常感谢。。我d:/kde/lib/目录下没有libpoppler-qt4.a。。但是有libpoppler-qt4.dll.a。。我想应该是一样的。。然后我将LIBS写成LIBS +=d:/kde/lib/libpoppler-qt4.dll.a。。编译通过。但是提示错误exit with code -1073741511
应该是环境变量没有设置好。。
thuai

引用来自“GuiLin”的评论

引用来自“xiangxw”的评论

我也遇到过,修改环境变量之后要重启

谢谢博主,我重启过了,不过依然是环境变量的问题,安装的软件太多,最后我换了qt版本把qt和kde的变量放到path最前面终于解决了。

我也遇到跟你同样的问题。。请问你换成了哪个QT版本就ok了?。。非常感谢。。
pingfanrenwl
您好,我安装的时候没有找到poppler-data (bin)这个选项,最后编译出来的pdf显示程序不能完美显示某些pdf文件。
xiangxw

引用来自“pingfanrenwl”的评论

您好,我安装的时候没有找到poppler-data (bin)这个选项,最后编译出来的pdf显示程序不能完美显示某些pdf文件。

有些没有嵌入字体的比较旧的PDF文件的确不能正确显示。可以试下mupdf这个库
×
xiangxw
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: