Tesseract 3.04 + VS2013 配置心得(包括静态库版本号和Release版本号)
研究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版本号)的更多相关文章
- 【iOS】配置和使用静态库
上一篇 我们演示了了如何创建自己的静态库,最终生成多个.a文件,根据需要引用工程就可以直接使用静态库了,但是有个很麻烦的问题,模拟器用的库和真机的不是同一个,当我们切换的时候需要更换静态库,有两种方式 ...
- ubuntu 12.04网络配置之设置静态iP
step: 1.输入命令: sudo vi /etc/network/interfaces 看到如下内容: 2.追加以下内容: iface eth0 inet static address 192.1 ...
- Msys2+mingw-w64 编译VS2013使用的ffmpeg静态库注意事项
1.环境准备 第一步:从http://sourceforge.net/projects/msys2/下载msys2的安装程序安装msys2; 第二步:通过msys2的包管理工具pacman安装ming ...
- VS编译静态库 .lib 其中Release 版本比Debug版本要大好多原因
如果工程代码使用了: 把此选项关闭即可减少库大小不少:
- (原)配置vs2013使用intel的IPP库
转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5473890.html 参考网址: https://software.intel.com/en-us/n ...
- 制作静态库文件(.a文件)
制作静态库文件(.a文件) 1.创建静态库工程: 在Xcode中new一个新的project,选择IOS下面的Framework&Library,下面有一个Cocoa Touch Static ...
- Qt动态库静态库的创建、使用、多级库依赖、动态库改成静态库等详细说明
本文描述的是windows系统下,通过qtcreator在pro文件中添加动态库与静态库的方法: 1.添加动态库(直接添加动态库文件.dll,非子项目) 通过qtcreator创建动态库的方法就不在此 ...
- Android:JNI与NDK(二)交叉编译与动态库,静态库
欢迎关注公众号,第一时间获取最新文章: 本篇目录 一.前言 本篇主要以window开发环境为背景介绍一下NDK开发中需要掌握的交叉编译等基础知识,选window系统主要是照顾大多数读者,mac ,li ...
- C++ 系列:静态库与动态库
转载自http://www.cnblogs.com/skynet/p/3372855.html 这次分享的宗旨是——让大家学会创建与使用静态库.动态库,知道静态库与动态库的区别,知道使用的时候如何选择 ...
随机推荐
- nyoj-647-奋斗小蜗牛在请客(进制转换)
奋斗小蜗牛在请客 时间限制:1000 ms | 内存限制:65535 KB 难度:2 描写叙述 一路艰辛一路收获.成功爬过金字塔的小蜗牛别提多高兴了.这不为了向以前帮助他的哥们们表达谢意,蜗牛宴请 ...
- Android面试题集
前几天整理了Java面试题集合,今天再来整理下Android相关的面试题集合.假设你希望能得到最新的消息,能够关注https://github.com/closedevice/interview-ab ...
- [MySQL] 按年度、季度、月度、周、日统计查询
该死的mysql没有提供unix时间戳的专门处理函数,所以,如果遇到时间分组,而你用的又是整型unix时间戳,则只有转化为mysql的其他日期类型! FROM_UNIXTIM()将unix时间戳转 ...
- vue-quill-editor 禁止编辑
每天学习一点点,知识财富涨点点 因为权限问题需要对富文本vue-quill-editor进行禁止编辑,因为也不是专业前端,处理起问题来还是只有看文档和百度,发现对这个提问不是很多,可能很多大牛都不会出 ...
- 淘宝druid报错:javax.management.InstanceNotFoundException: com.alibaba.druid:type=DruidDataSourceStat
问题: 启动tomcat报错: Tomat报出一下异常:ERROR [com.alibaba.druid.stat.DruidDataSourceStatManager] – unregister m ...
- Neo4j下执行cypher-shell时,Connection refused问题解决?
不多说,直接上干货! 问题现象 root@zhouls-/bin# ls cypher-shell neo4j neo4j-admin neo4j-import neo4j-shell tools ...
- Ubuntu14.04下Mongodb数据库可视化工具安装部署步骤(图文详解)(博主推荐)
不多说,直接上干货! 前期博客 Ubuntu14.04下Mongodb(离线安装方式|非apt-get)安装部署步骤(图文详解)(博主推荐) Ubuntu14.04下Mongodb官网安装部署步骤(图 ...
- Repeater控件使用小结持续更新
Repeater嵌套Repeater绑定数据 前台代码 <!--注意层级关系不要写错了--> <asp:Repeater ID="rpGroup" runat=& ...
- UWP 开发APP准备工作
每新建一个UWP之后,都要进行一番相同的处理步骤,才能使Mobile的使用体验更好,故总结如下: 1.订阅Mobile后退导航事件 在App.xaml.cs文件中OnLaunched方法中添加 Sys ...
- js数组定义、属性及方法(push/pop/unshfit/shfit/reverse/sort/slice/splice/indexOf/lastIndexOf)
数组 一.定义数组 * 字面量方式 var 数组名称 = [ value,value,... ] * 构造函数方式 var 数组名称 = new Array(value,value,...): v ...