windows 编译 libharu 我这个是手把手教你

1来源

老板叫我学libharu.这是一个操作pdf的开源库,用C语言编写,一般用于C/C++的项目中。
(题外话:我搜解决方案的时候,最烦的是那种随便写的博客,写的不清不楚,往往照着操作了一遍之后,很多问题没解决,然后又是重新下载,重新清理环境,一切都重新弄,就很烦,但是我写的这篇博客,一定可以解决你编译ibharu的问题。我只做了静态链接库。记住了。我试了动态链接库的时候有些问题,没解决掉,目前静态链接库已经没问题了。)

2提前准备

2.1下载

当然是下载开源库的源代码,一般要下载三个库的。分别是 libharu libpng zlib
因为libharu依赖libpng和zlib,libpng依赖zlib.
他们的网址分别是:
libharu http://libharu.org/
libpng http://www.libpng.org/pub/png/libpng.html
zlib http://www.zlib.net/
我也是不怎么愿意看这些英文网站的,上去最多看看介绍,然后直接找Download.哈哈哈。下载的时候,有时候回下载失败,再者就是下载的速度也不快,有时连官网都要打开好几次才能打开。。。不得不说,是真的慢。这些库可能也没什么钱去扩大宽带啥的。
如果你不知道下载什么,我截了几个图:
zlib
在这里插入图片描述

libpng
在这里插入图片描述

libharu
在这里插入图片描述

2.2下载完之后

下载完之后,是这样的。打红色箭头的地方可以拖动,你鼠标放上去看看就好了。(主要是为了让文件名长的可以显示完全。)
在这里插入图片描述

3开始编译 libpng

本来我们是要先编译zlib,然后编译libpng的,但是下载的libpng里面自带由编译zlib的代码,那我们下的zlib有啥用,有用的!慢慢看。

3.1解压 重命名

如图:
在这里插入图片描述

我只是把zlib的名字改了。原来的名字后面还有版本号。这里一定要改。因为我在这里后面的时候打算采用libpng一次性编译两个开源库的方式来做,而在libpng里面虽然有编译zlib的代码,但是没有zlib的源码,因此需要我们把zlib的源码提供给libpng,并且,zlib的路径要和libpng的路劲一样。这样就可以似的libpng里面的编译程序可以找得到zlib的源码了。这个问题我可是卡了好久的!大家可能听起来轻松,但是编译的时候,能够采用这个简便方法也是既快有方便。(如果想知道我是怎么发现的,其实很简单,自己慢慢研究下载下来的文件,把里面的readme啥的多看几遍,就可以发现了!)
然后用vs打开:.sln文件
(路径看下图。)
在这里插入图片描述

打开的时候会需要升级,因为这是以前的旧项目了。就给他升级就好了,会有几个warning,但是不影响使用。你可能会问,那projects里面的visualio里面的项目不是更新吗?为什么我不用。因为那里面比较复杂,我试了几次没成功。哈哈哈哈哈。
在这里插入图片描述

3.2开始编译

改配置!!
改他两的配置,中间那个不用管。
先改i这里,改成LIB Release.
在这里插入图片描述
在这里插入图片描述
默认的是dll
在这里插入图片描述

改成lib
在这里插入图片描述
然后点击libpng的重新生成。就可以了。
在这里插入图片描述

3.3生成之后的结果

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

好了,现在生成已经结束了。我们把需要用的东西打包出来,剩下的就不用了。
我们需要吧.h文件和刚才生成的.lib文件打包出来。
因为zib和libpng两个开源库里面的.h文件存的很乱。
采用这个方法可以快速找到,h文件。
在这里插入图片描述
在这里插入图片描述

接着,建立文件夹存储打包出来的信息,请你按照我的命名和文件夹的父子关系来做。因为后面编译libharu需要用到这些信息。当然等你弄懂了libharu编译文件的内容,这些命名就是按照你的意愿来改了。
在这里插入图片描述

4编译libharu

4.1找到Makefile.msvc文件并修改。

在这里插入图片描述

4.2还有这里需要改成我这样子的。

在这里插入图片描述

4.3把libpng.lib zlib.lib两个文件拷贝到这里:

在这里插入图片描述

4.4 最后

接下来就是进入libharu的文件夹,然后用Visual Studio的命令行。执行这个命令:
nmake script/Makefile.msvc.
然后就等着编译完就好了。编译完之后,会在libharu的文件夹下面生成libhpdf.lib.这就是生成的静态链接库。
你可能会遇到以下的问题,
1.rc 不认识 namke不认识。
解决方案
2.更多的问题:
这个链接最后有一些解决方案。
3.如果你不知道vs的命令行怎么打开这些问题的话,那就需要自己上网搜了,基本操作。
可能会对你有些帮助。

That is all !

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章