[转]Tesseract 3.04 + VS2013 配置心得(包含静态库版本和Release版本)
原文地址:http://blog.csdn.net/fengkewei/article/details/40977511
版权声明:本文为博主原创文章,未经博主允许不得转载。
研究Tesseract也有几个星期了 走了一些弯路 网上有很多VS2010的配置心得 但没有VS2013的, 找到一篇之后, 又发现会有一些小问题, 这里记录下来, 也为新人提供一些帮助.
Tesseract官网:https://code.google.com/p/tesseract-ocr/
还是先说下Tesseract库的依赖架构:
有了这个库的依赖关系, 就可以说下自己配置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版本的工程, 想自己编译这些库的源代码,编译成想用的静态库版本则很麻烦.
当我在寻找这个解决方案的时候, 无意发现下面这个方法自带了这些图像库的编译工程,而且还是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"配置到工程,
位置在:"Tesseract-Build\tesseract-ocr\vs2010\include"这样, 你只需要在link里, 指定"liblept$(LIBLEPT_VERSION)d.lib"和"libtesseract$(LIBTESS_VERSION)d.lib"就行了.
Tesseract OCR 讨论群 389402579