部分内容转自:
在使用Leptonica的时候,它依赖于开源的zlib、libjpeg、libpng、libtiff、giflib。
我编译的版本分别是:
上面的源代码我已经上传为资源文件,如果需要请下载。
Leptonica的编译步骤:
1. 从http://www.zlib.net/ 下载最新的zlib-1.2.8源码,新建zlib静态库工程,将/zlib-1.2.8目录下的.h、.c文件加入到此工程中,编译生成zlib静态库;
2. 从http://www.libpng.org/pub/png/libpng.html下载最新的libpng-1.6.19,新建libpng静态库工程,将/lpng1619目录下的.h、.c文件加入到此工程中,将/lpng1619/scripts目录下的pnglibconf.h.prebuilt文件拷贝到/lpng1619目录下,并修改文件名为pnglibconf.h,将此文件也加入到此工程中,将pngstruct.h文件中zlib.h改成正确的存放路径,编译生成libpng静态库;
3. 从http://libjpeg.sourceforge.net/ 下载最新的jpeg-9a源码,新建ligjpeg静态库工程,将/jpeg-9a目录下的.h、.c文件加入到此工程中(jmemdos.c和jmemmac.c文件除外),将jconfig.vc重命名为jconfig.h,将此文件也加入到此工程中,编译生成libjpeg静态库;
4. 从ftp://ftp.remotesensing.org/pub/libtiff下载稳定版的tiff-4.0.6源码,新建libtiff静态库工程,将/tiff-4.0.6/libtiff目录下相应的.h、.c文件加入到此工程中,将tiff_config.vc.h、tiffconf.vc.h分别重命名为tiff_config.h、tiffconf.h,将此两个文件也加入到此工程中,编译生成libtiff静态库;
5. 从http://sourceforge.net/projects/giflib/下载最新的gitlib-5.1.1源码,新建giflib静态库工程,将/giflib-5.1.1目录下相应的.h、.c文件加入到此工程中,对源文件进行调整,将源文件中用到#include <stdbool.h>的地方,用以下语句替换,
//#include <stdbool.h>
#ifndef __cplusplus
typedef int bool;
#define false 0
#define true 1
#endif
将文件中用到的#include<unistd.h>的地方均注释掉,编译生成giflib静态库;