研究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版本号的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

Tesseract 3.04 + VS2013 配置心得(包括静态库版本号和Release版本号)的更多相关文章

  1. 【iOS】配置和使用静态库

    上一篇 我们演示了了如何创建自己的静态库,最终生成多个.a文件,根据需要引用工程就可以直接使用静态库了,但是有个很麻烦的问题,模拟器用的库和真机的不是同一个,当我们切换的时候需要更换静态库,有两种方式 ...

  2. ubuntu 12.04网络配置之设置静态iP

    step: 1.输入命令: sudo vi /etc/network/interfaces 看到如下内容: 2.追加以下内容: iface eth0 inet static address 192.1 ...

  3. Msys2+mingw-w64 编译VS2013使用的ffmpeg静态库注意事项

    1.环境准备 第一步:从http://sourceforge.net/projects/msys2/下载msys2的安装程序安装msys2; 第二步:通过msys2的包管理工具pacman安装ming ...

  4. VS编译静态库 .lib 其中Release 版本比Debug版本要大好多原因

    如果工程代码使用了: 把此选项关闭即可减少库大小不少:

  5. (原)配置vs2013使用intel的IPP库

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5473890.html 参考网址: https://software.intel.com/en-us/n ...

  6. 制作静态库文件(.a文件)

    制作静态库文件(.a文件) 1.创建静态库工程: 在Xcode中new一个新的project,选择IOS下面的Framework&Library,下面有一个Cocoa Touch Static ...

  7. Qt动态库静态库的创建、使用、多级库依赖、动态库改成静态库等详细说明

    本文描述的是windows系统下,通过qtcreator在pro文件中添加动态库与静态库的方法: 1.添加动态库(直接添加动态库文件.dll,非子项目) 通过qtcreator创建动态库的方法就不在此 ...

  8. Android:JNI与NDK(二)交叉编译与动态库,静态库

    欢迎关注公众号,第一时间获取最新文章: 本篇目录 一.前言 本篇主要以window开发环境为背景介绍一下NDK开发中需要掌握的交叉编译等基础知识,选window系统主要是照顾大多数读者,mac ,li ...

  9. C++ 系列:静态库与动态库

    转载自http://www.cnblogs.com/skynet/p/3372855.html 这次分享的宗旨是——让大家学会创建与使用静态库.动态库,知道静态库与动态库的区别,知道使用的时候如何选择 ...

随机推荐

  1. IntelliJ IDEA 10 配置 Tomcat7

    http://blog.csdn.net/neutrojan/article/details/8064145

  2. Nagios监控nginx服务具体过程

    1在nginx 服务器上安装nrpe客户端: Nginx的服务须要监控起来.不然万一down了而不及时修复,会影响web应用.例如以下web应用上面启动的nginx后台进程[root@lb-net-2 ...

  3. 使用记事本开发第一个java程序

    记事本是开发java程序最基础的一个工具 第一步:编写 新建一个文件名为Hello的文本文档,并将文件扩展名改为.java. 在文本框内输入我们的程序代码 ——————————————我是分割线——— ...

  4. 杂项-DB:DW/DWH(数据仓库)

    ylbtech-杂项-DB:DW/DWH(数据仓库) 数据仓库,英文名称为Data Warehouse,可简写为DW或DWH.数据仓库,是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合. ...

  5. 37.Qt网络与通信

    1 获取本机网络与通信 在网络应用中,经常需要获得本机的主机名.IP地址和硬件地址等网络信息.运用QHostInfo,QNetWorkInterface,QNetworkAddressEntry可获得 ...

  6. 使用右键打开Visual Code

    Windows Registry Editor Version 5.00[HKEY_CLASSES_ROOT\*\shell\Visual Code]@="Edit with Visual ...

  7. PHP日期和时间处理组件-Carbon

    https://packagist.org/packages/nesbot/carbon 我们使用PHP时经常需要处理日期和时间,有时会被时间时区搞混淆,而Carbon是PHP中很人性化的时间日期处理 ...

  8. layedit图片上传接口案列

    html部分 <divclass="layui-form-item"> <labelfor="tname"class="layui- ...

  9. Android接口回调的理解

    1.各种理解 <1>说白了,就是拿到对象引用,调其方法 <2>实际上就是利用多态的方式调用而已 <3>其实很容易理解的,定义接口,然后提供一个外部的接口设置进去,然 ...

  10. Unity 需不需要再建Assets文件夹

    不需要,默认所有文件都是在Assets文件夹下创建的,看不到是因为设置了单栏模式,开启双栏模式就能看到了.