libharu windows下vs编译
看到网上vs编译的过程,记录一下,本人试了挺久,采用开源库编译,在windows下cmake总是失败,还是希望开源的时候能放上vs的解决方案;后来找到了一个带解决方案的sln版本的源码,虽然不是最新版本,但最终还是能用,在最后将Libharu源码上传到csdn下载里面,如果能用到的话,可以下载,工程采用vs2013,配置的是静态库方式,其他库需要自己自行下载编译。编译Libharu需要用到zlib
看到网上vs编译的过程,记录一下,本人试了挺久,采用开源库编译,在windows下cmake总是失败,还是希望开源的时候能放上vs的解决方案;后来找到了一个带解决方案的sln版本的源码,虽然不是最新版本,但最终还是能用,在最后将Libharu源码上传到csdn下载里面,如果能用到的话,可以下载,工程采用vs2013,配置的是静态库方式,其他库需要自己自行下载编译。
编译Libharu需要用到zlib库和libpng库,libpng库又依赖zlib库.
zlib 下载地址:http://www.zlib.net/
libpng下载地址:http://www.libpng.org/pub/png/libpng.html
libharu下载地址:http://libharu.org/
一、编译zlib
这里我们只编译 USE MFC Shared DLL 下 的lib和dll 字符统一设置Unicode
打开zlib-1.2.8里面的C:\libhpdf\zlib-1.2.8\zlib-1.2.8\contrib\vstudio\vc10\zlibvc.sln文件
设置 MFC Shared DLL,Unicode,MDD,DLL生成选项,下面两个库也按照这个编译选项。building zlibvc即可
程序目录中生成了如下文件zlibwapid.dll和zlibwapid.lib
二、编译libpng 编译选项同zlib
打开C:\libhpdf\lpng1624\lpng1624\projects\vstudio\vstudio.sln
去掉他自己引用的zlib目录,把$ZlibSrcDir;删除
自己手动添加zlib库目录,包含zlib的头文件,然后添加刚才生成的zlibwapid.lib目录,linker输入 依赖zlibwapid.lib
building 即可编译出libpng16.dll libpng16.lib,如果报错,加上zlib的预编译选项,
_CRT_NONSTDC_NO_DEPRECATE
_CRT_SECURE_NO_DEPRECATE
_CRT_NONSTDC_NO_WARNINGS
ZLIB_WINAPI
ASMV
ASMINF
三、编译libharu 生成libhpdf.dll
新建vs空控制台工程,设置编译选项,生成exe改成生成dll,编译选项同上面的一和二。
然后include zlib和libpng的头文件,include libharu的头文件,添加libharu的src源代码, include 生成的zlib的lib 和libpng的lib
linker 输入 libpng16.lib zlibwapid.lib
导入libharu win32\include下目录下的hpdf_config.h文件,并且导入libhpdf.def 文件用于生成lib文件
然后在设置预处理器里面添加zlib的如下编译选项,否则编译不通过,
_CRT_NONSTDC_NO_DEPRECATE
_CRT_SECURE_NO_DEPRECATE
_CRT_NONSTDC_NO_WARNINGS
ZLIB_WINAPI
ASMV
ASMINF
最后可能会报错 HPDF_3DAnnot_Set3DView无法引用的错误,将libhpdf.def 中的HPDF_3DAnnot_Set3DView 删除即可。
包含解决方案的源代码:libharu.rar-C++文档类资源-CSDN文库
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)