由于libharu依赖与zlib和libpng。
1.编译zlib
1.1 下载zlib
http://www.zlib.net/ 下载最新版 ,我下载的是1.2.8。放到g:/pdf目录,解压到zlib目录下。
1.2 编译
打开vs2008,打开 “工具->Visual Studio 2008 Command Prompt”(其实就是cmd窗口,区别就是在启动cmd窗口之前,执行了Microsoft Visual Studio 9.0\VC\bin\vcvar32.bat 设置了一些环境变量,供cl.exe使用,感兴趣可以去查看一下这个文件)。
命令行进入g:/pdf\zlib\contrib\masmx86目录,执行bld_ml32.bat。来编译出match686.obj和inffas32.obj。(如果是64位的需要进入g:/pdf\zlib\contrib\masmx64目录,执行相应编译,可以汇报ml64,不存在,那是因为你的vs2008,没有安装相应64为的编译工具,可以运行安装程序,添加一下。具体过程不在本文介绍范围之内)。
然后进入目录g:/pdf\zlib\contrib\vstudio\vc9(因为我的vs版本是2008(vc9)),然后打开zlibvc.sln文件,如图
因为我只需要zlib动态库,我只变异zlibvc工程。
不过在编译之前,我们要修改 预处理宏ZLIB_WINAPI修改为ZLIB_DLL。用来编译动态库。
然后编译生成,在目录G:\pdf\zlib\contrib\vstudio\vc9\x86\ZlibDllDebug,目录下生成zlibwapi.dll和zlibwapi.dll。留着备用。
2.编译libpng。
2.1 下载解压libpng
http://libmng.com/pub/png/libpng.html 下载。解压到G:\pdf\libpng目录里面。
2.2 编译
可以进入G:\pdf\libpng\projects\visualc71目录下,打开libpng.sln,可以看到,
Libpng项目依赖于zlib项目,而Zlib项目目录..\..\..\zlib。其实正好是我们前面建立zlib目录。(如果不想这么搞,可以线编译出zlib的静态库,然后添加到libpng链接依赖中也可以)
然后生成 libpng,在G:\pdf\libpng\projects\visualc71\Win32_DLL_Debug中有libpng16d.lib和libpng16d.dll文件。留着备用
3.编译libharu
3.1 下载libharu
下载libharu,解压到G:\pdf\libharu目录中。
3.2 编译
进入G:\pdf\libharu\script,文本编辑器打开Makefile.msvc_dll文件。修改环圈的部分,主要目的是让它找到头文件和动态库文件。
把之前编译的zlibwapi.dll和zlibwapi.dll拷贝到$(zlib_prefix)\lib目录下,并修改为zlib.dll和zlib.lib 文件。
同样把之前编译的libpng16d.lib和libpng16d.dll拷贝到$(png_prefix)\lib目录下,并修改为libpng.lib和libpng.dll 文件。
打开vs2008,打开 “工具->Visual Studio 2008 Command Prompt”。在cmd窗口进入G:\pdf\libharu。执行nmake -f script/Makefile.msvc_dll。
在目录G:\pdf\libharu。编译出来libhpdf.lib和libhpdf.dll文件。