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_94 cigarettes 递归VS迭代
题目地址 分析: 英文题事实上看懂意思和正常的也都差点儿相同.就算有几个单词不认识也无伤大雅. 一共同拥有n支烟,每天抽k支. 每抽完k支,会得到一仅仅. a组数据. 输入n k的个数.输出一共抽了 ...
- n个整数全排列的递归实现(C++)
全排列是很经常使用的一个小算法,以下是n个整数全排列的递归实现,使用的是C++ #include <iostream> using namespace std; int n = 0; vo ...
- CDH使用秘籍(一):Cloudera Manager和Managed Service的数据库
背景 从业务发展需求,大数据平台须要使用spark作为机器学习.数据挖掘.实时计算等工作,所以决定使用Cloudera Manager5.2.0版本号和CDH5. 曾经搭建过Cloudera Mana ...
- 剑指offer——04重建二叉树(Python3)
思路:在数据结构中,有一个条件反射,谈及二叉树,就递归.所以在实现重建二叉树时,也应该用到递归的思想. 在前序遍历中,根节点处于第一个:在中序遍历中,根节点的左边为左子树节点,根节点右边为右子树节点. ...
- 百度ai和图灵123实现简单的语音对话
百度ai和图灵123实现简单的语音对话
- nginx 与 Windows 错误
设置根目录 root "D:/www/app"; proxy_pass 反向代理 404 location php 模块添加 fastcgi_split_path_info ^(( ...
- C语言中文件定位函数总结
C语言中文件定位函数主要是:fseek, ftell, fsetpos, fgetpos. 先来讲前两个函数,这是最基本的定位函数: fseek函数:能把文件指针移动到文件任何位置,其原型是:int ...
- javascript中常用数组方法详细讲解
javascript中数组常用方法总结 1.join()方法: Array.join()方法将数组中所以元素都转化为字符串链接在一起,返回最后生成的字符串.也可以指定可选的字符串在生成的字符串中来分隔 ...
- <Android Framework 之路>Android5.1 Camera Framework(一)
Android5.0 Camera Framework 简介 CameraService启动 CameraService是在MediaServer启动过程中进行的 main_mediaserver.c ...
- ffmpeg常用指令
在osx系统下通过ffmpeg查看设备 ffmpeg -f avfoundation -list_devices true -i "" -f 指定的是输入输出格式, -i指定输入的 ...