Tesseract 3.04 + VS2013 配置心得(包括静态库版本号和Release版本号)

时间:2023-04-09 14:29:02

研究Tesseract也有几个星期了 走了一些弯路 网上有非常多VS2010的配置心得 但没有VS2013的, 找到一篇之后, 又发现会有一些小问题, 这里记录下来, 也为新人提供一些帮助.

Tesseract官网:https://code.google.com/p/tesseract-ocr/

还是先说下Tesseract库的依赖架构:

Tesseract 3.04 + VS2013 配置心得(包括静态库版本号和Release版本号)

有了这个库的依赖关系, 就能够说下自己配置VS2013版本号的目的了:

a. 因为网上现有的都是现编译好的GIF, JPEG,PNG,TIFF,ZLIB库的DLL_DEBUG版本号的Binaries.  操作起来非常不方便, 若自己想用LibTesseract和Leptonica Lib生成一个DLL给exe调用, 因为底层是动态链接库, 则必须带上LibTesseract.lib, LibTesseract.dll,
LibLeptonica.lib, LibLeptonica.dll, 显得累赘.所以将底层编译成静态库, 是我的目标. 另一个理由就是Release版本号的编译, 也须要源代码.

b. 因为找不到(或者不太好找)这些库VS2010版本号的project, 想自己编译这些库的源码,编译成想用的静态库版本号则非常麻烦.

当我在寻找这个解决方式的时候, 无意发现以下这种方法自带了这些图像库的编译project,并且还是VS2013版本号的, 省了非常多事

配置VS2013的详细方法, 请參考:http://vorba.ch/2014/tesseract-3.03-vs2013.html

注意事项:

1) 安装好 SlickSVN 后, cmd下并不能直接调用:

"git clone git://github.com/pvorb/tesseract-vs2013.git"

须要你在git命令行下调用, 所以你记得装下git

2)调用"msbuild build.proj"的时候, 可能会出现错误(不一定), 临时解决方法是:

changed all "l_int32" to "int" in "liblept\src\boxfunc1.c"&"liblept\src\utils.c"

3)Build Tesseract的时候, 在cmd下输入

"svn checkout http://tesseract-ocr.googlecode.com/svn/trunk/ tesseract-ocr"

会出错,原因是被GFW墙了, 所以记得FQ(VPN)

4)调用Tesseract库(libtesseract304.dll)的时候会出现错误, 须要使用"strcpy"类函数的安全函数"strcpy_s",

改动"Project Property - Configuration Property - C/C++ - General - SDL checks" 为"NO(/sdl-)"就可以

5)调用"libtesseract304.dll"的时候所需的"Tesseract"头文件跟v2008相比, 没有最新的.py文件帮忙copy了,

有2个方法:

第一种: 土办法, 一个一个找吧, 看"tesseract.exe"所依赖的头文件就可以, 一个一个手动加入吧, 也没多少

另外一种: "Tesseract-Build/tesseract-ocr/vs2008/doc/maintenance.html"下

有个"Updating the VS2008 directory for new releases of Tesseract-OCR"的方法

又一次写个.py也不错.

6)调用Tesseract库的时候你若想自己主动匹配Leptonica和Tesseract库的版本, 则记得加入".prop"配置到project,

位置在:"Tesseract-Build\tesseract-ocr\vs2010\include"

这样, 你仅仅须要在link里, 指定"liblept$(LIBLEPT_VERSION)d.lib"和"libtesseract$(LIBTESS_VERSION)d.lib"即可了.

Tesseract OCR 讨论群 389402579