首页 / 更多教程 / poppler交叉编译
poppler交叉编译
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了poppler交叉编译,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3883字,纯文字阅读大概需要6分钟。
内容图文
![poppler交叉编译](/upload/InfoBanner/zyjiaocheng/1095/17ff7babebb64df4a351161b5a57ea16.jpg)
项目需要生成和打开pdf文件,编译了pdflib库,可以使用,但是上面有水印。。。如果是商业用途去水印的话需要获得许可。没办法,换呗。
然后就是poppler,这个库的功能很强大,里面更是加入了Qt的支持,刚好适合项目需求。
但是。。。但是前前后后加起来编译poppler半个多月一直失败,网上也没找到解决办法,我真是醉了,这个poppler支持Qt应该是最好的选择方式了,没办法,隔一段时间继续编译。以下是自己编译过程中遇到的问题记录下来,望后来的人少走弯路。
1.支持库的编译
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 <span style="color:#ff0000;">--disable-cairo-output</span>
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" <span style="color:#ff0000;">POPPLER_QT4_CFLAGS="-I/opt/qt-4.8.5-embedded/include" POPPLER_QT4_LIBS="-L/opt/qt-4.8.5-embedded/lib -lQtGui -lQtCore -lQtXml -lQtScript -lQtNetwork"</span> ./configure --host=arm-linux --prefix=/opt/poppler --enable-libjpeg --enable-libpng --disable-cairo-output
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
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文:http://blog.csdn.net/sddsighhz/article/details/46519437
内容总结
以上是互联网集市为您收集整理的poppler交叉编译全部内容,希望文章能够帮你解决poppler交叉编译所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。