分享免费的编程资源和教程

网站首页 > 技术教程 正文

如何用c语言做个阅读器?

goqiw 2024-09-17 19:23:26 技术教程 62 ℃ 0 评论

libHaru是一个用来生成PDF文件的C语言、跨平台开发开源包,能再Windows、Linux、FreeBSD等等下使用。它支持线条、文本、图片、轮廓、文本注释、链接注释、文档压缩、图片嵌入、TrueType字体、加密PDF、支持多种字符集。libHaru目前的稳定版本是V2.3版。

编译libHaru这个开源库,需要其它的开源作为依赖,下面我们在Windows下编译libHaru。

1,下载zlib库,这个在官方网站上有最新的windows版本bin,不需要编译。

2,下载libpng,这个没有windows版本的二进制库文件,需要编译,最好下载1.2.51版本,因为我们要编译的libharu不是最新版本。

3,编译libpng,从projects目录中用vs2008,选择visualc71,打开工程。从工程中去掉依赖项(zlib,我们这里直接使用编译好的zlib,不需要编译),在设置从属性中的c++设置好头文件路径,和属性的连接设置好zlib的路径和库名字,编译动态库。

4,下载libharu库,注意要下载libharu_2_0_8_win32.zip这个版本,其他总是出错。拷贝zlib和libpng的头文件和库(lib,dll)到libharu工程下,修改script目录下的Makefile.msvc_dll,这里我们也是编译为动态库,以便以后使用。将Makefile.msvc_dll中的zlib和libpng指向目录和库名修改正确,在命令行下执行:

nmake -f script\Makefile.msvc_dll即可编译成功。

5,使用编译好的libhpdf.dll和libhpdf.lib。拷贝好库和头文件到使用的工程,包含头文件时如下:

#define HPDF_DLL

#include "hpdf.h"

#pragma comment (lib, "libhpdf.lib")

这里必须定义HPDF_DLL(原因看hpdf.h的头文件),否则找不到那些libhpdf.lib输出的函数,提示入:

font_demo.obj : error LNK2001: unresolved external symbol _HPDF_SaveToFile

font_demo.obj : error LNK2001: unresolved external symbol _HPDF_Page_ShowText

font_demo.obj : error LNK2001: unresolved external symbol _HPDF_Page_MoveTextPos

之类的错误。

如果没有在工程中设置包含libhpdf.lib(属性设置或者使用#pragma comment (lib, "libhpdf.lib")),则会出现如下错误:

font_demo.obj : error LNK2001: unresolved external symbol __imp__HPDF_SaveToFile@8

font_demo.obj : error LNK2001: unresolved external symbol __imp__HPDF_Page_ShowText@8

font_demo.obj : error LNK2001: unresolved external symbol __imp__HPDF_Page_MoveTextPos@12

之类的错误。

注意着两点之后编译成功。

libHaru的使用在sample目录下有文本、图片等常见的使用实例,感兴趣可以去参考一下。

如果对编程感兴趣,想了解更多的编程知识,解决编程问题,以及入门指导,帮你解决编程中遇到的困惑,我们这里有java高手,C++/C高手,windows/Linux高手,android/ios高手,关注微信公众号:程序员互动联盟或者coder_online,关注后输入关键字 zx 获取编程入门手册

本文属原创,禁止转载,谢谢!

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表