Linux(UOS)系统下编译podofo 0.9.6

前言

之前研究了 pdf haru的库,但发现只能生成pdf,而不能编辑。所以研究了下linux下的podofo 0.9.6 的编译。

使用的是国产操作系统UOS 。当然,下面的方法也可以应用到其他Linux操作系统上

参考资料

PODOFO编译之2——依赖项编译及podofo-0.9.2编译

步骤:

零、新建一个Podofo的文件夹,是我们的编译目录。在Podofo中再新建一个depends目录。

一、下载

Podofo官网下载最新版本。我下载的是0.9.6。解压后新建build目录,备用。

下载cmake-gui。方法也很简单,使用apt install cmake-gui即可。

二、编译libjpeg

到官网上下载jpeg源码,我下载的是jpeg-9d

将源码解压到Podofo目录中,并在终端中打开该目录。并依次输入命令:

./configure --prefix=/$PWD/../depends
make
make install

则会在depends/lib中生成 libjpeg.a

三、编译libzip

zlib官网  下载源码,我下载的是zlib-1.2.11。将源码解压到Podofo中,并在终端中打开目录,并依次输入命令

./configure --prefix=/$PWD/../depends
make
make install

则会在depends/lib中生成 libz.a

四、编译tiff

http://www.linuxfromscratch.org/blfs/view/stable/general/libtiff.html页面寻找 http://download.osgeo.org/libtiff/tiff-4.0.10.tar.gz下载。

我下载的是4.0.10。将源码解压到Podofo中,并在终端中打开目录,并依次输入命令

./configure --prefix=/$PWD/../depends
make
make install

则会在depends/lib中生成 libtiff.a和libtiffxx.a

五、编译freetype

freetype官网下载最新的包,我原先下载的是252,但在linux下编译有问题。我重新下载了2.10.1,解压到Podofo中,并在终端中打开目录,并依次输入命令

./configure --prefix=/$PWD/../depends
make
make install

就编译好了。在depends/lib中生成 libfreetype.a ,libfreetype.so
 

六,编译lpng

sourceforge下载libpng的源码。与上面 一样,在终端中打开目录,并依次输入命令

./configure --prefix=/$PWD/../depends
make
make install

在depends/lib中生成了libpng的*.a,*.so库

七、编译openssl库

到官网上下载openssl最新库。因为在OpenSSL 1.0.1g版本中“ Heartbleed”漏洞被修复,所以最好下载这之后的版本。

我下载的是1.1.1d。与上面 不同,unix系统下要要用到./config来配置,在终端中打开目录,并依次输入命令

./config -t --prefix=/$PWD/../depends
make
make install

这样就生成了静态库libssl.a,libcrypto.a和动态库libssl.so,libcrypto.so。

./config shared --prefix=/$PWD/../depends
make
make install

如果想要调试的库,再加个选项-d

./config -d shared --prefix=/$PWD/../depends
make
make install

至此,所有相关库都已经建好。下面使用CMAKE来编译PODOFO

八,安装freetype;

运行命令:下载freetype的源码,进入目录,运行make ,make install ,即可安装 

九,安装fontconfig

上官网下载fontconfig源码。进入目录中,运行autogen.sh,此时会提示缺少的依赖库,如:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NzcGRmbg==,size_16,color_FFFFFF,t_70

此时用apt install 命令,安装库即可.

(要注意的是autoreconf的安装,调用命令:apt-get install autoconf)

这个时候提示:

watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3NzcGRmbg==,size_16,color_FFFFFF,t_70

则要安装更新gettext。上官网下载源码。

运行./configure,make,make install(编译的时候有点长,耐心等待)

然后再运行fontconfig的

./autogen.sh --sysconfdir=/etc --prefix=/usr --mandir=/usr/share/man  (是调用autogen.sh还是configure,看源码来源。具体详见目录中的INSTALL文件)

结果又碰上了新问题:

20200509170150781.png

我安装了expat,重新运行,还是会报这个错。于是加上libxml2:

./autogen.sh --sysconfdir=/etc --prefix=/usr --mandir=/usr/share/man  --enable-libxml2

(注意是xml2,不是xm12)

然后运行make,make install,fontconfig才编译安装 完成

十、编译 PODOFO库

新建一个QT工程,设置为静态库,然后将源码直接导入。

后记

1、我使用的操作系统是UOS,有很多库是默认没有的,比如fontconfig。我上官网下了源码自行编译,运行fontconfig的autogen.sh又发现缺少gettext库,再上官网下源码编译。运行autogen.sh --enable-libxml2,才把fontconfig编译出来。读者的操作系统如果有这些库,就不用做这些了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值