文章目录
  1. 1. 前序工作
  2. 2. 编译Leptonica 1.71
  3. 3. 编译Tesseract
  4. 4. End

去年时候使用了VS2008编译了Tesseract 3.02版本,主要是参考了一份官方文档,但是对于目前的最新版本并没有给出说明。

本文主要参考了Paul Vorbach的How to build Tesseract 3.03 with Visual Studio 2013,在翻译的同时,加上自己的一些经验总结。

编译新版本最大问题在于新版本的Tesseract依赖新版的Leptonica库,后者是一个开源的C语言图像处理包。新版本的Leptonica需要新版的zlib,libpng,libtiff,libjepg和giflib这些库。在Leptonica的官网上只给出了Leptonica 1.68版本的VS2008编译工程(果然还是要掌握点Linux下的开发技巧:D)。那么你需要做的就是需要把新版的Leptonica编译成需要的lib文件及dll提供Tesseract调用,这无疑是一份枯燥繁琐的事。

很幸运的是在GitHub上已经有一个Visual Studio的工程文件包含了所有Tesseract 3.03依赖的文件。charlesw/tesseract-vs2012。这个工程Paul编译后发现了一些错误,然后又fork了一份:tesseract-vs2013

下面是使用Visual Studio 2013编译Tesseract 3.04的所有步骤。

前序工作

1.安装Git。(实际上你可以根据自己习惯直接从GitHub网页上下载源码)。
2.安装SVN,比如SlickSVN
3.安装Visual Studio 2013 for Windows Desktop

编译Leptonica 1.71

1.创建用来编译Tesseract的目录。这里我们假设是C:\Tesseract-Build\.

2.打开cmd命令,改变路径:
cd \Tesseract-Build\

3.从GitHub上拷贝依赖文件到当前目录:
git clone git://github.com/pvorb/tesseract-vs2013.git

4.打开tesseract-vs2013目录下的工程文件进行编译,注意需要在DLL_Ddebug, DLL_Release, LIB_Debug, LIB_Release每个Solution Configuration下都Build一次。这样编译后得到的lib和dll就是Tesseract所依赖的文件了。

编译Tesseract

1.确保当前路径仍然是C:\Tesseract-Build\

2.从SVN上获取最新版Tesseract源码:
svn checkout http://tesseract-ocr.googlecode.com/svn/trunk/ tesseract-ocr

3.把路径改成新检出的源码下:
cd tesseract-ocr

4.利用tesseract-vs2013目录下的patch文件:
svn patch ..\tesseract-vs2013\vs2013+64bit_support.patch

到这里如果都没有问题,那真的要恭喜你!事实上你极有可能在步骤2利用svn导入源码时候就出错了,这时候你首先要感谢下政府,然后你可以从GitHub上直接下载源码包(Tesseract工程已经转移到GitHub上了),得到源码把它拷贝在tesseract-ocr目录下。由于你不是从SVN上导入,所以步骤4就会报错。这时候你就需要手动配置依赖文件,具体过程是这样的:

1)在Tesseract-Build目录下创建includelib文件夹,在include文件夹拷贝C:\Tesseract-Build\tesseract-vs2013目录下的一些头文件,包括所有Leptonica的头文件及部分其他库的头文件:

2)将上面步骤编译得到的lib文件及dll文件拷贝到lib目录下:

3)用VS2013打开C:\Tesseract-Build\tesseract\vs2010目录下的工程,就能够成功编译。如果出现error C2146的错误,需要选择vs2013的菜单“File – Advanced Save Options”中设置Encoding为Chinese Simplified,保存后重新编译。

End

这个月啥都没写,姑且拿这个凑个数吧。

文章目录
  1. 1. 前序工作
  2. 2. 编译Leptonica 1.71
  3. 3. 编译Tesseract
  4. 4. End