日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

win10上编译libharu库

發布時間:2023/12/10 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 win10上编译libharu库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

背景:

最近的項目需要自動的生成pdf文件,我在網上查看相關的資料,發現目前比較流行的生成pdf文件的庫有兩個,一個是libpdf,另一個是libharu。libpdf個人使用時免費的但是商業使用就需要收費了,否則得到的pdf上有水印。有人說libpdf要比libharu好用,因為libharu需要自己編譯,但是考慮到節約成本,我想我應該先嘗試一下libharu庫,然后再做決定。

? ? ? ?首先是要編譯libharu庫,我看了好幾篇文章,感覺說的都不很清楚,操作性不強,后來無意間發現了這篇文章(https://blog.csdn.net/zerojava0/article/details/111482470?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-5&spm=1001.2101.3001.4242),我照著博主說的步驟進行操作,雖然我在操作過程中遇到了博主沒有提到的一些問題,但是我還是逐一解決了,最后也編譯成功了。

使用工具:

VS2017, cmake-3.11.3

第一步:下載資源:

libharu的編譯是需要libpng庫的,而libpng是依賴zlib的,所以我們依次安裝三個庫。

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

libpng下載地址:http://www.libpng.org/pub/png/libpng.html

libharu下載地址:http://libharu.org/

下載下來后為

解壓縮后,簡化了一下目錄名字,就是下面這個樣子了。

第二步:編譯zlib庫

首先在zlib-1.2.11目錄下新建一個build文件夾。

然后打開cmake,并設置源文件的路徑以及編譯文件生成的路徑,然后點擊一下“Configure”再點擊一下“Generate”,下方的對話框中顯示了,Configring done和Generating done則表示此步操作順利完成。

接下來我們來看看buid文件中都生成了哪些文件

就是上面這些文件啦,接下來就是雙擊上面標注的這個zlib.sln文件,使用我的VS2017打開,然后開始編譯

然后可以看到編譯出來的文件存放在哪里,當然也可以選擇編譯模式為Release模式。

第三步:編譯libpng庫

首先也是要在lpng1637中新建一個build文件夾。然后打開cmake,設置lpng1637路徑。點擊Configure后彈出錯誤提示信息。可以看到是因為找不到ZLIB_INCLUDE_DIR和ZLIB_LIBRARY

我們再第一步中已經編譯好了zlib庫,選擇Abvanced,然后在下面設置ZLIB_INCLUDE_DIR和ZLIB_LIBRARY_RELEASE的路徑,再次點擊Configure和Generate。

成功了,真不錯。

然后看一下這次build文件中生成了什么,

然后在lpng1637/build中創建一個zlib文件夾,然后將第二步中生成的zlibd.lib拷貝到zlib文件夾下。

然后雙擊libpng.sln,使用VS2017打開工程。

右鍵png,然后選擇Properties.

接下來是這樣

接下來是這樣

接下來是這樣

接下來開始編譯

編譯出現了問題,就是zlib庫中找不到zconf.h文件,遇到這樣的問題呢,直覺告訴我,首先要查看,工程下面到底有沒有這個文件

zconf.h文件確實存在,

看一下zlib.h在哪里,

知道他們的相對位置后,我修改為#include "build/zconf.h",然后重新編譯,編譯成功。生成了libpng16d.lib

第四步:編譯libharu庫

上面咱們已經成功編譯了,zlib庫和png庫,同時生成了相應的lib文件,接下來首先在libharu目錄下創建兩個文件夾,分別命名為libpng和zlib。

然后將剛才編譯得到的zlibd.lib拷貝到zlib文件夾下,將libpng16d.lib拷貝到libpng下。如下圖所示。

然后使用同樣的方法用cmake來編譯libharu,成功了。

雙擊libharu.sln,使用VS2017打開工程。

選擇屬性

編譯成功啦,生成了libhpdfsd.lib.

好了,今天就寫到這里了,接下來取研究如何使用這個庫。

總結

以上是生活随笔為你收集整理的win10上编译libharu库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。