libHaru在windows下的编译
来源:互联网 发布:windows grub rescue 编辑:程序博客网 时间:2024/06/05 02:42
主机环境:Windows 10
开发环境:CodeBlocks 16.01mingw
好久没更新了,之前私人笔记本坏掉了一直没去弄,跟了我有6年多了,想想也该退役了,一狠心买了一个新的本本,之前在讨论群了看到有人在询问使用c语言生成pdf文档的事情,一时好奇就去网上度娘了一下相关的文档,在github上就看到了一个开源的使用c语言生成pdf文档的代码--libHaru,看了一下很久没有更新了,目前最新版本是V2.3.0,文档的地址如下:http://libharu.org/ 代码的下载地址如下:https://github.com/libharu/libharu 这里做下在windows下的编译笔记,方便自己学习,该pdf库有以下特性:
1. Generating PDF files with lines, text, images. 2. Outline, text annotation, link annotation. 3. Compressing document with deflate-decode. 4. Embedding PNG, Jpeg images. 5. Embedding Type1 font and TrueType font. 6. Creating encrypted PDF files. 7. Using various character set (ISO8859-1~16, MSCP1250~8, KOI8-R). 8. Supporting CJK fonts and encodings.在使用时如果需要用到压缩特性或需嵌入png图片,该库就需要依赖zlib以及pnglib,因此需要去网上下载相应的代码,zlib的官网地址如下:http://www.zlib.net/ zlib最新版本是zlib 1.2.11 pnglig的官网下载地址如下:https://sourceforge.net/projects/libpng/files/ 最新版本是lpng1628 下载最新的代码到本地解压,如下:
由于lpng库也依赖于zlib库,因此我们先编译zlib库,进入到zlib-1.2.11源文件目录,执行以下命令
之后就会生成libz.a文件,拷贝libz.a库文件到mingw安装路径下的lib目录,在codeblocks安装目录下可以看到
之后把zlib.h和zconf.h两个头文件拷贝到mingw路径下的include目录下。
接下来编译pnglib库,跟之前的流程类似,进入lpng1628源码目录,执行mingw32-make -f scripts/makefile.gcc命令,出现了错误,如下:
可以看到是拷贝操作出现了问题,这里执行手动拷贝操作,然后再执行该命令就可以在当前目录下生成所需要的库文件libpng.a了,
拷贝libpng.a库文件到mingw路径下的lib目录中,并且把png.h、pngconf.h、pnglibconf.h文件拷贝到mingw路径下的include目录中,接下来就可以开始编译我们的libharu库了,进入到源码目录中,执行mingw32-make -f script/makefile.mingw命令,结果产生了错误,如下:
提示未识别的命令行选项 ‘-mno-cygwin’,打开script/makefile.mingw文件
在第21行和22行各有一处 -mno-cygwin定义,这里把这两个定义删除,再次执行make命令,就可以看到生成了libhpdf.a库文件,拷贝该文件到mingw的lib目录中,并且把libharu目录中include路径下的hpdf.h和hpdf_conf.h文件拷贝到mingw下的include目录中,最后再把win32/include目录下的hpdf_config.h文件也拷贝到mingw下的include目录中,至此,基本的编译工作就算完成了,libharu库还提供了一些demo代码来测试所编译的库,因此,这里再编译一下demo测试代码,执行以下命令,mingw32-make -f script/makefile.mingw demo,产生了一个失败,如下:
再次打开script/makefile.mingw文件,在文件的最后面把所有的cd demo/ ;./*.exe语句去掉,如下所示:
修改完成之后再次执行make命令,就可以编译成功,在demo目录下生成了各自对应的exe文件,如下:
在此,我们双击一下image_demo.exe程序,会在本目录下生成一个名为image_demo.exe.pdf的文件,打开它就可以发现该文件跟image_demo.pdf文件一样,说明我们编译的libharu库是成功的,如下:
至此,就可以根据demo示例以及libharu文档来学习一下如何用c语言来生成pdf文件了。
参考链接:http://kingsz1.iteye.com/blog/543787
- libHaru在windows下的编译
- 在 mingw 下编译 libHaru
- libharu(1):windows下编译方法
- libharu(2):vs2010编译libharu的方法
- libharu 编译使用
- vs编译libharu
- Linux下libHaru安装
- Meshlab在 Windows下的编译
- GDAL库在windows下的编译
- omnetpp在windows下的编译
- UMFPACK在Windows下的编译
- gtk+在windows下的编译环境
- jam 在windows下的编译
- OpenSSL在Windows下的编译安装
- FFMpeg 在Windows 环境下的编译
- openssl 在windows下的编译
- omnetpp在windows下的编译
- SpiderMonkey在windows下的编译
- Git常用命令速查手册
- IFE斌斌学院-JS总结(1)
- 有符号整数的加减运算,溢出判断
- java8初体验——optional、lambda、stream、map
- HDU 6015
- libHaru在windows下的编译
- 【Codeforces-402C】-Dishonest Sellers(思维)
- code(vs)1294 全排列(dfs)
- bzoj 2038 小Z的袜子
- IT词汇(个人总结,不断更新)
- 1.1 字符串的旋转
- 有关栈和队列的编程题
- JQuery 工作原理
- 剑指Offer:跳台阶