libharu(1):windows下编译方法

来源:互联网 发布:实时模拟炒股软件 编辑:程序博客网 时间:2024/06/05 00:15

先给出我当前收集的有用链接。

// libharu在git的地址

https://github.com/libharu/libharu

// libharu的编译方法
https://github.com/libharu/libharu/wiki/Installation


// libharu--将2个png保存为pdf
http://blog.csdn.net/superlym2005/article/details/5834390

// libharu和pdflib 两种写pdf库文件使用心得
http://blog.csdn.net/cztjing/article/details/7789198

// 常见pdf开发库的讨论帖子
http://bbs.csdn.net/topics/360176044


 编译libharu,你需要libpng以及zlib。为了节省时间,如何下载编译libpng和zlib(你可以参考:http://kingsz1.iteye.com/blog/543787),这里不叙述。

1. zlib文件夹,libpng文件夹,lib文件夹,libharu文件夹


进入libharu文件夹,在vs2010的命令行下执行: nmake script/Makefile.msvc_dll

错误1:hpdf_streams.c
src\hpdf_streams.c(34) : fatal error C1083: Cannot open include file: 'zlib.h':
No such file or directory

办法:将Makefile.msvc_dll里面的“CFLAGS=/MD -nologo -O2 -Iinclude -Iwin32\include   -I"$(PNG_PREFIX)"\include -I"$(ZLIB_PREFIX)"\include -DHPDF_DLL_MAKE"修改为”CFLAGS=/MD -nologo -O2 -Iinclude -Iwin32\include   -I"$(PNG_PREFIX)" -I"$(ZLIB_PREFIX)" -DHPDF_DLL_MAKE“

然后再执行nmake script/Makefile.msvc_dll


错误2:LINK : fatal error LNK1181: cannot open input file 'libpng13.lib'

办法:将Makefile.msvc_dll里面的LDFLAGS= /LIBPATH:$(PNG_PREFIX)\lib /LIBPATH:$(ZLIB_PREFIX)\lib /LIBPATH:win32\msvc libpng13.lib zlib.lib改为”LDFLAGS= /LIBPATH:$(PNG_PREFIX)\lib /LIBPATH:$(ZLIB_PREFIX)\lib /LIBPATH:win32\msvclibpngd.lib zlibd.lib

因为我们编译的是debug版本,这里的2个lib为debug版本的。

所以还要将”CFLAGS_DEMO=/MD -nologo -O2 -Iinclude -Iwin32\include -D__WIN32__ -DHPDF_DLL“改为”CFLAGS_DEMO=/MD -nologo -O2 -Iinclude -Iwin32\include -D__WIN32__ -DHPDF_DLL -DLIBHPDF_DEBUG“

同时打开libharu\win32\include\hpdf_config.h文件,将里面的#undef LIBHPDF_DEBUG注释起来.

另外将libpngd.lib和zlibd.lib拷贝到libharu\win32\msvc下面

然后再执行nmake script/Makefile.msvc_dll


错误3:libhpdf.def : error LNK2001: unresolved external symbol HPDF_3DAnnot_Set3DView

将libharu\win32\msvc\libhpdf.def里面的HPDF_3DAnnot_Set3DView删除。

然后再执行nmake script/Makefile.msvc_dll

这样会在libharu下面生成libhpdfd.dll和libhpdfd.lib




编译release就简单多了,不需要考虑*d.lib, *d.dll等问题。



1 0
原创粉丝点击