libharu(1):windows下編譯方法

先給出我當前收集的有用連接。git

// libharu在git的地址github

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/360176044spa

 

 編譯libharu,你須要libpng以及zlib。爲了節省時間,如何下載編譯libpng和zlib(你能夠參考:http://kingsz1.iteye.com/blog/543787),這裏不敘述。.net

1. zlib文件夾,libpng文件夾,lib文件夾,libharu文件夾命令行

進入libharu文件夾,在vs2010的命令行下執行: nmake script/Makefile.msvc_dlldebug

錯誤1:hpdf_streams.c
src\hpdf_streams.c(34) : fatal error C1083: Cannot open include file: 'zlib.h':
No such file or directoryblog

辦法:將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「ip

而後再執行nmake script/Makefile.msvc_dll開發

 

錯誤2:LINK : fatal error LNK1181: cannot open input file 'libpng13.lib'input

辦法:將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\msvc libpngd.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等問題。

相關文章
相關標籤/搜索