libharu(1):windows下编译方法
2016-07-06 00:00
609 查看
先给出我当前收集的有用链接。
// 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\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等问题。
// 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\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等问题。
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- 关于指针的一些事情
- c++ primer 第五版 笔记前言
- share_ptr的几个注意点
- 一款免费且安全的在线 PDF 转换软件
- Lua中调用C++函数示例
- Lua教程(一):在C++中嵌入Lua脚本
- Lua教程(二):C++和Lua相互传递数据示例
- PDF里的文字显示模糊的解决方法
- PDF编辑工具 Foxit PDF Editor 1.5 Build 2911 下载
- 没有文件大小限制并免费的PDF到HTML转换工具
- MicroAdobe PDF Editor 6.2 英文正式版附破解补丁 下载
- C#使用iTextSharp设置PDF所有页面背景图功能实例
- C#怎么给PDF添加背景图片
- PDF的VBS小程序代码
- C#实现PDF文件添加图片背景
- C++联合体转换成C#结构的实现方法
- C++高级程序员成长之路
- C++编写简单的打靶游戏
- C++ 自定义控件的移植问题