C++開源庫libharu編譯使用--PDF開源庫
看了網(wǎng)上的教程,并結合實際操作,現(xiàn)做總結
下載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(解壓后的文件夾)下創(chuàng)建文件夾build(這個文件夾名自定義):

打開cmake-gui.exe(cmake解壓后的文件夾bin目錄下),并設置路徑,點擊Configure:

選擇對應的VS版本(一般情況不需要選),點擊Finish:

之后點擊Generate:

到build目錄下雙擊解決方案:

選擇對應的版本生成:

目錄下會生成對應的dll和lib文件:

Debug下的是zlibd.lib,Release下的是zlib.lib
libpng
編譯過程同zlib
目錄下創(chuàng)建build文件夾,設置cmake的路徑,點擊Configure,點擊Generate:

到build目錄下雙擊解決方案:

在build文件夾下創(chuàng)建zlib文件夾,并將上面編譯生成的zlibd.lib和zlib.lib放到zlib文件夾下:

配置png項目的屬性:

如果有第一條內容,要刪除

之后再在Debug和Release配置下分別設置對應的附加依賴項:


之后生成png項目:

Debug下的是libpng16d.lib,Release下的是libpng16.lib
libharu
編譯過程同zlib和libpng
目錄下創(chuàng)建build文件夾,設置cmake的路徑,點擊Configure,點擊Generate:

在build文件夾下創(chuàng)建zlib和libpng,并將生成的lib放入對應的文件夾中:


到build目錄下雙擊解決方案:

配置hpdf項目的屬性:

如果有mingw64這個要刪除

之后再在Debug和Release配置下分別設置對應的附加依賴項:


之后生成hpdf項目:

Debug和Release下的都是hpdf.lib
測試
創(chuàng)建一個新的項目,先在Debug和Release下生成一下,然后,將生成的對應的hpdf.dll和hpdf.lib放到對應的文件夾下(這個策略可以自己設置,只要后面屬性配置的時候對應上就可以)

將libharu文件夾下的include文件夾復制到項目的根目錄下,并且將libharu的build文件夾下的include文件夾下的頭文件放到項目中的include文件夾下:


配置項目屬性:



測試代碼(chatGPT生成):
運行之后生成一個hello.pdf文件:
