poppler交叉编译
项目须要生成和打开pdf文件,编译了pdflib库,能够使用。可是上面有水印。
。。假设是商业用途去水印的话须要获得许可。
没办法。换呗。
然后就是poppler,这个库的功能非常强大,里面更是增加了Qt的支持,刚好适合项目需求。
可是。
。
。
可是前前后后加起来编译poppler半个多月一直失败,网上也没找到解决的方法,我真是醉了。这个poppler支持Qt应该是最好的选择方式了,没办法,隔一段时间继续编译。
下面是自己编译过程中遇到的问题记录下来。望后来的人少走弯路。
1.支持库的编译
我的编译一直失败。開始以为是库的支持不够,就将它显示的库所有交叉编译了。最后一直报libpoppler-glib.so wrong format。
Required
Recommended
Cairo-1.14.2, libjpeg-turbo-1.4.1, libpng-1.6.17,
and OpenJPEG-1.5.2
仅仅须要Fontconfig库就能够了,其它的库仅仅是推荐的,然后我就将原本的Cairo和glib库都去掉了。最后的configuer配置例如以下
PKG_CONFIG_PATH=/opt/poppler/lib/pkgconfig FONTCONFIG_CFLAGS="-I/opt/poppler/include/fontconfig/" FONTCONFIG_LIBS="-L/opt/poppler/lib -lfontconfig" FREETYPE_CFLAGS="-I/opt/poppler/include/freetype2/" FREETYPE_LIBS="-L/opt/poppler/lib -lfreetype" LIBTIFF_CFLAGS="-I/opt/poppler/include" LIBTIFF_LIBS="-L/opt/poppler/lib -ltiff" LIBOPENJPEG_CFLAGS="-I/opt/poppler/include/openjpeg-1.5" LIBOPENJPEG_LIBS="-L/opt/poppler/lib -lopenjpeg" LIBJPEG_CFLAGS="-I/opt/poppler/include" LIBJPEG_LIBS="-L/opt/poppler/lib -ljpeg" CC=arm-linux-gcc CPPFLAGS="-I/opt/poppler/include" CFLAGS="-I/opt/poppler/include" LDFLAGS="-L/opt/poppler/lib -lz -ljpeg" ./configure --host=arm-linux --prefix=/opt/poppler --enable-libjpeg --enable-libpng --disable-cairo-output
2、Qt库错误
PKG_CONFIG_PATH=/opt/poppler/lib/pkgconfig FONTCONFIG_CFLAGS="-I/opt/poppler/include/fontconfig/" FONTCONFIG_LIBS="-L/opt/poppler/lib -lfontconfig" FREETYPE_CFLAGS="-I/opt/poppler/include/freetype2/" FREETYPE_LIBS="-L/opt/poppler/lib -lfreetype" LIBTIFF_CFLAGS="-I/opt/poppler/include" LIBTIFF_LIBS="-L/opt/poppler/lib -ltiff" LIBOPENJPEG_CFLAGS="-I/opt/poppler/include/openjpeg-1.5" LIBOPENJPEG_LIBS="-L/opt/poppler/lib -lopenjpeg" LIBJPEG_CFLAGS="-I/opt/poppler/include" LIBJPEG_LIBS="-L/opt/poppler/lib -ljpeg" CC=arm-linux-gcc CPPFLAGS="-I/opt/poppler/include" CFLAGS="-I/opt/poppler/include" LDFLAGS="-L/opt/poppler/lib -lz -ljpeg" POPPLER_QT4_CFLAGS="-I/opt/qt-4.8.5-embedded/include" POPPLER_QT4_LIBS="-L/opt/qt-4.8.5-embedded/lib -lQtGui -lQtCore" ./configure --host=arm-linux --prefix=/opt/poppler --enable-libjpeg --enable-libpng --disable-cairo-output
假设不须要qt的支持应该已经能够使用了
3、tslib库问题
/opt/qt-4.8.5-embedded/lib/libQtGui.so: undefined reference to `ts_read_raw'
/opt/qt-4.8.5-embedded/lib/libQtGui.so: undefined reference to `ts_open'
/opt/qt-4.8.5-embedded/lib/libQtGui.so: undefined reference to `ts_fd'
/opt/qt-4.8.5-embedded/lib/libQtGui.so: undefined reference to `ts_config'
/opt/qt-4.8.5-embedded/lib/libQtGui.so: undefined reference to `ts_close'
/opt/qt-4.8.5-embedded/lib/libQtGui.so: undefined reference to `ts_read'
非常多人都说这个问题是由于没有改动arm-linux-g++/qmake.conf文件。即没有增加
QMAKE_CC = arm-linux-gcc -lts
QMAKE_CXX = arm-linux-g++ -lts
QMAKE_LINK = arm-linux-g++ -lts
QMAKE_LINK_SHLIB = arm-linux-g++ -lts
发现出错的是qt4目录下的demo和tests目录的编译,果断在Makefile中去掉了这两个目录的编译。
poppler交叉编译的更多相关文章
- Linux主机上使用交叉编译移植u-boot到树莓派
0环境 Linux主机OS:Ubuntu14.04 64位,运行在wmware workstation 10虚拟机 树莓派版本:raspberry pi 2 B型. 树莓派OS: Debian Jes ...
- Ubuntu 16.04 安装 arm-linux-gcc 嵌入式交叉编译环境 问题汇总
闲扯: 实习了将近半年一直在做硬件以及底层的驱动,最近要找工作了发现了对linux普遍要求很高,而且工作岗位也非常多,所以最近一些时间在时不时地接触linux. 正文:(我一时兴起开始写博客,准备不充 ...
- Linux 14.04lts 环境下搭建交叉编译环境arm-linux-gcc-4.5.1
交叉编译工具链是为了编译.链接.处理和调试跨平台体系结构的程序代码,在该环境下编译出嵌入式Linux系统所需要的操作系统.应用程序等,然后再上传到目标板上. 首 先要明确gcc 和arm-linux- ...
- Linux主机上实现树莓派的交叉编译及文件传输,远程登陆
0.环境 Linux主机OS:Ubuntu14.04 64位,运行在wmware workstation 10虚拟机 树莓派版本:raspberry pi 2 B型. 树莓派OS:官网下的的raspb ...
- FFmpeg和X264的交叉编译环境
在下载好了FFmpeg和X264的源码包之后,在Linux下进行安装的基本流程就是切换到其源码的根目录,然后以此执行以下命令.基本上所有的开源源码包的默认编译安装都是这三步. ./configure ...
- Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程)
Windows7 64位系统搭建Cocos2d-x-2.2.1最新版以及Android交叉编译环境(详细教程) 声明:本教程在参考了以下博文,并经过自己的摸索后实际操作得出,本教程系本人原创,由于升级 ...
- Ubuntu 树莓派2b交叉编译环境
在一个平台上生成另一个平台上的可执行代码.为什么要大费周折的进行交叉编译呢?一句话:不得已而为之.有时是因为目的平台上不允许或不能够安装所需要的编译器,而又需要这个编译器的某些特征:有时是因为目的平台 ...
- Ubuntu实现树莓派交叉编译
一.交叉编译 在一个平台上生成另一个平台上的可执行代码.为什么要大费周折的进行交叉编译呢?一句话:不得已而为之.有时是因为目的平台上不允许或不能够安装所需要的编译器,而又需要这个编译器的某些特征:有时 ...
- 交叉编译总结 libosscore.a libcurl.a libmysqlclient.a
把工程文件交叉编译到arm上运行,着实花费了一番功夫. 首先遇到的错误是 X uses VFP register arguments, B does not 百度了一下,发现是硬浮点和软浮点的问题,原 ...
随机推荐
- QQ音乐
import re import requestsimport json class Search: def __init__(self, song): ''' self.vkey_url ---&g ...
- 二 MapReduce 各阶段流程分析
如果想要将问题变得清晰.精准和优雅, 需要关注 MapReduce 作业所需要的系统资源,尤其是集群内部网络资源使用情况. MR 可以运行在共享集群上处理 TB 级 甚至 PB 级的数据.同时,改作业 ...
- 配置mac机svn服务器
这几天一直纠结如何配置mac机svn服务器,在网上查了很多资料,无奈本人底子太差,菜鸟级别,理解能力有限,照网上的总是配置不好,最后无奈问了刘超老师,终于配置成功.现在写一下具体配置过程,菜鸟级别可以 ...
- legend---四、菜鸟教程css3里面有教你炫酷的按钮怎么做
legend---四.菜鸟教程css3里面有教你炫酷的按钮怎么做 一.总结 一句话总结:想学,总是有很多资料的 1. 自动居中是 margin:100px 0px;么? 自动居中是margin:100 ...
- CSS 文本字体颜色设置方法(CSS color)
CSS 文本字体颜色设置方法(CSS color) 一.认识CSS 颜色(CSS color) 这里要介绍的是网页设置颜色包含有哪些:网页颜色规定规范. 1.常用颜色地方包含:字体颜色.超链接颜色.网 ...
- POJ 1895 分层图网络流+输出路径
题意: 题目描述:在公元3141年人类的足迹已经遍布银河系.为了穿越那巨大的距离,人类发明了一种名为超时空轨道的技术.超时空轨道是双向的,连接两个星系,穿越轨道需要一天的时间.然而这个轨道只能同时给一 ...
- 单向链表 golang
package main import "fmt" type Object interface {} //节点 type Node struct { data Object nex ...
- Linux局域网登陆响应时间过长
在局域网中,使用ssh登陆到其他机器上时,有时会出现等待10s以上才能正常登陆的问题. 原因: Linux默认使用dns解析登陆IP,但是在局域网,并没有dns服务器,而且机器上也没有添加 IP与域名 ...
- POJ 1466 Girls and Boys (匈牙利算法 最大独立集)
Girls and Boys Time Limit: 5000MS Memory Limit: 10000K Total Submissions: 10912 Accepted: 4887 D ...
- windows下搭建hadoop-2.6.0本地idea开发环境
概述 本文记录windows下hadoop本地开发环境的搭建: OS:windows hadoop执行模式:独立模式 安装包结构: Hadoop-2.6.0-Windows.zip - cygwinI ...