文档章节

在windows下编译poppler(exit with code 115215015)

xiangxw
 xiangxw
发布于 2011/03/17 20:46
字数 255
阅读 2294
收藏 6
点赞 0
评论 11

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什么的,是因为环境变量的设置还没有生效,注销或重启就行了

© 著作权归作者所有

共有 人打赏支持
xiangxw
粉丝 37
博文 135
码字总数 7324
作品 1
广州
加载中

评论(11)

xiangxw
xiangxw

引用来自“pingfanrenwl”的评论

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

有些没有嵌入字体的比较旧的PDF文件的确不能正确显示。可以试下mupdf这个库
pingfanrenwl
pingfanrenwl
您好,我安装的时候没有找到poppler-data (bin)这个选项,最后编译出来的pdf显示程序不能完美显示某些pdf文件。
thuai
thuai

引用来自“GuiLin”的评论

引用来自“xiangxw”的评论

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

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

我也遇到跟你同样的问题。。请问你换成了哪个QT版本就ok了?。。非常感谢。。
thuai
thuai
非常感谢。。我d:/kde/lib/目录下没有libpoppler-qt4.a。。但是有libpoppler-qt4.dll.a。。我想应该是一样的。。然后我将LIBS写成LIBS +=d:/kde/lib/libpoppler-qt4.dll.a。。编译通过。但是提示错误exit with code -1073741511
应该是环境变量没有设置好。。
xiangxw
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
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上面的添加头文件和库的方法。。

G
GuiLin

引用来自“xiangxw”的评论

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

谢谢博主,我重启过了,不过依然是环境变量的问题,安装的软件太多,最后我换了qt版本把qt和kde的变量放到path最前面终于解决了。
xiangxw
xiangxw
我也遇到过,修改环境变量之后要重启
G
GuiLin
博主您好,我想用Qt做一个pdf阅读器,安装您的方法安装poppler,编写测试程序并编译之后总是提示exited with code -1073741511修改环境变量也没有解决,请问您碰到过这种问题吗?怎样解决?
xiangxw
xiangxw

引用来自“xiaoxing”的评论

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

官方给出的tutorial就是这样做的,其他的不是很了解http://people.freedesktop.org/~aacid/docs/qt4/
Red Hat:更新的poppler packages修复多个安全问题 

Poppler 是一个PDF编译库,被用于应用如Evince。多个整数溢出错误在poppler中发现。攻击可以产生PDF病毒文件,将导致使用poppler的应用程序发生冲突,或是秘密执行恶意代码,当被打开时。多个...

老枪 ⋅ 2009/05/18 ⋅ 0

Texmaker 4.0.3 发布,LaTex 文档制作

Texmaker 4.0.3 使用 Qt 5.1 和 poppler 0.22 编译 Windows 和 Mac OS X Lion 的版本;查找替换支持只对选择内容有效;增加将源文件转成 Unicode 的工具;可在 Help 菜单中检查新版本。 Texm...

oschina ⋅ 2013/07/31 ⋅ 2

PDF处理、Tesseract-OCR的介绍

相关文章 OCR识别-python版(一) 基于Python实现对PDF文件的OCR识别 使用Google开源tesseract OCR用语言库报allowblob_division解决方案 Tesseract-OCR识别中文与训练字库实例 Tesseract训练...

致Great ⋅ 2017/12/09 ⋅ 0

GNOME Commander 1.4.1 发布,文件管理器

GNOME Commander 1.4.1 发布,此版本是个 bug 修复版本。GCMD 使用 poppler-glib 绑定代替了内部 poppler API;支持在 Fedora 21 上编辑;更新了一些翻译。 无论是从外观上,还是从操作上,都...

oschina ⋅ 2014/04/06 ⋅ 1

centos5.8编译vlc2.0.0问题

最近因为要用到vlc来测试软件,所以要编译安装vcl。我在网上找到了一篇在centos5.8下编译vlc的文章,如下: 使用 Source Code 重新編譯 VLC Player 最新版VLC:http://download.videolan.or...

GP001 ⋅ 2012/06/01 ⋅ 1

Ubuntu音乐文件和PDF出现乱码的解决办法

对于音乐文件,我们只需要转换文件的标签编码就可以了,linux下有一个很好的工具 是用 Python编写的。ubuntu的原里面也有,只需要运行这个命令就可以安装。 sudo apt-get install python-mu...

JavaGG ⋅ 2009/06/02 ⋅ 0

Texmaker 4.0.4 发布,LaTex 文档制作

Texmaker 4.0.4 支持 Poppler 0.24 版本,修复了在 ARM 架构下的编译问题,支持编辑器中的图像拖放操作。 Texmaker 集成了很多的工具便于在制作LaTex文档。是一个并不依赖kde的QT程序。...

oschina ⋅ 2013/08/31 ⋅ 4

Ubuntu音乐文件和PDF出现乱码的解决办法

对于音乐文件,我们只需要转换文件的标签编码就可以了,linux下有一个很好的工具 是用 Python编写的。ubuntu的原里面也有,只需要运行这个命令就可以安装。 sudo apt-get install python-mu...

JavaGG ⋅ 2009/05/08 ⋅ 0

Texmaker 3.3.3 发布 - LaTeX 开发工具

Texmaker 集成了很多的工具便于在制作LaTex文档。是一个并不依赖kde的QT程序。 此次更新包括: 一个轻量级的 session 管理器 在 PDF 阅读器中,水平位置以及放大倍数重置 用户标签可以通过拖...

虫虫 ⋅ 2012/04/08 ⋅ 0

Ubuntu下常见问题以及常用软件安装命令

--声明:以下内容来自于网络前辈的经验,因为以后会不定期修改增加,所以没有注明具体来源(来自于东拼西凑,实践有效后方才添加),Ubuntu环境10.0以上。 1.pdf中文无法显示问题: 由于在新...

looyer ⋅ 2012/09/09 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

内核线程、轻量级进程、用户线程

线程与进程概念 在现代操作系统中,进程支持多线程。 进程是资源管理的最小单元; 线程是程序执行的最小单元。 即线程作为调度和分配的基本单位,进程作为资源分配的基本单位 一个进程的组成...

117 ⋅ 25分钟前 ⋅ 0

elasticsearch2.4.6升级为elasticsearch-5.5.0的经历

将elasticsearch-5.5.0 中的配置 path.data 指向原来的数据路径 即 path.data: /usr/local/src/elasticsearch-2.4.6/data 注意: elasticsearch-5.5.0 需要将jdk版本升级到1.8...

晨猫 ⋅ 25分钟前 ⋅ 1

lvm讲解 磁盘故障小案例

1

oschina130111 ⋅ 29分钟前 ⋅ 0

那些提升开发人员工作效率的在线工具

本文转载自公众号 Hollis 作为一个Java开发人员,经常要和各种各样的工具打交道,除了我们常用的IDE工具以外,其实还有很多工具是我们在日常开发及学习过程中要经常使用到的。 Hollis偏爱使用...

时刻在奔跑 ⋅ 42分钟前 ⋅ 0

restful风格 实现DELETE PUT请求 的web.xml的配置

import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframe......

泉天下 ⋅ 47分钟前 ⋅ 0

Shell数组

Shell数组 Shell在编程方面比Windows批处理强大很多,无论是在循环、运算。 bash支持一维数组(不支持多维数组),并且没有限定数组的大小。类似与C语言,数组元素的下标由0开始编号。获取数...

蜗牛奔跑 ⋅ 56分钟前 ⋅ 0

nmap为了开发方便 可以做简单的修改

因为nmap扫描是默认使用的是nse脚本,但是在开发的过程中需要修改后缀(主要是因为后缀为lua才能显示高亮,所以这里用一个取巧的办法) nse_main.lua文件中我们找到如下代码 local t, path = cn...

超级大黑猫 ⋅ 今天 ⋅ 0

springmvc获取axios数据为null情况

场景:前端用了vue没有用ajax与后台通信,用了axios,但是在代码运行过程中发现axios传递到后台的值接受到数据为null。 问题原因:此处的问题在与axios返回给后台的数据为json类型的,后台接...

王子城 ⋅ 今天 ⋅ 0

hadoop技术入门学习之发行版选择

经常会看到这样的问题:零基础学习hadoop难不难?有的人回答说:零基础学习hadoop,没有想象的那么难,也没有想象的那么容易。看到这样的答案不免觉得有些尴尬,这个问题算是白问了,因为这个...

左手的倒影 ⋅ 今天 ⋅ 0

806. Number of Lines To Write String - LeetCode

Question 806. Number of Lines To Write String Solution 思路:注意一点,如果a长度为4,当前行已经用了98个单元,要另起一行。 Java实现: public int[] numberOfLines(int[] widths, Str...

yysue ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部