C++开源库libharu编译使用--PDF开源库
看了网上的教程,并结合实际操作,现做总结
下载libharu库以及依赖库
libharu下载地址:https://github.com/libharu/libharu

zlib下载地址:http://www.zlib.net/

libpng下载地址:https://libpng.sourceforge.io/index.html

编译工具cmake下载地址:https://cmake.org/download/


编译
将三个解压后的文件夹放在同一目录下(这个操作不是必要的,这样做只是为了方便)
zlib
在文件夹zlib-1.2.13(解压后的文件夹)下创建文件夹build(这个文件夹名自定义):

打开cmake-gui.exe(cmake解压后的文件夹bin目录下),并设置路径,点击Configure:

选择对应的VS版本(一般情况不需要选),点击Finish:

之后点击Generate:

到build目录下双击解决方案:

选择对应的版本生成:

目录下会生成对应的dll和lib文件:

Debug下的是zlibd.lib,Release下的是zlib.lib
libpng
编译过程同zlib
目录下创建build文件夹,设置cmake的路径,点击Configure,点击Generate:

到build目录下双击解决方案:

在build文件夹下创建zlib文件夹,并将上面编译生成的zlibd.lib和zlib.lib放到zlib文件夹下:

配置png项目的属性:

如果有第一条内容,要删除

之后再在Debug和Release配置下分别设置对应的附加依赖项:


之后生成png项目:

Debug下的是libpng16d.lib,Release下的是libpng16.lib
libharu
编译过程同zlib和libpng
目录下创建build文件夹,设置cmake的路径,点击Configure,点击Generate:

在build文件夹下创建zlib和libpng,并将生成的lib放入对应的文件夹中:


到build目录下双击解决方案:

配置hpdf项目的属性:

如果有mingw64这个要删除

之后再在Debug和Release配置下分别设置对应的附加依赖项:


之后生成hpdf项目:

Debug和Release下的都是hpdf.lib
测试
创建一个新的项目,先在Debug和Release下生成一下,然后,将生成的对应的hpdf.dll和hpdf.lib放到对应的文件夹下(这个策略可以自己设置,只要后面属性配置的时候对应上就可以)

将libharu文件夹下的include文件夹复制到项目的根目录下,并且将libharu的build文件夹下的include文件夹下的头文件放到项目中的include文件夹下:


配置项目属性:



测试代码(chatGPT生成):
运行之后生成一个hello.pdf文件:
