Win10 使用MinGW-w64编译Tesseract4.0
一开始尝试使用mingw+msys编译tesseract, 但是苦于mingw-get安装的软件版本都太旧,要安装新版本只能下载源码编译安装。
在编译过程中遇到了很多麻烦,最后还遇到了包直接循环依赖问题(glib和pkg-config),最终只能作罢。
1. 下载安装mysy2
安装后打开msys2.exe, 务必要先更新软件包数据库和核心系统包(很重要),否则在安装tesseract过程中出现莫名奇妙的问题。
pacman -Syu
# -y, --refresh 从服务器下载新的软件包数据库
(-yy 强制更新软件包数据库)
# -u, --sysupgrade 升级所有已安装的软件包 (-uu 可启用降级)
2. 更新软件源
默认的MSYS2 源升级软件或是安装新软件的较慢,这里为了提高速度使用中科大的源
编辑 /etc/pacman.d/mirrorlist.mingw32 ,在文件开头添加:
Server = http://mirrors.ustc.edu.cn/msys2/mingw/i686
编辑 /etc/pacman.d/mirrorlist.mingw64 ,在文件开头添加:
Server = http://mirrors.ustc.edu.cn/msys2/mingw/x86_64
编辑 /etc/pacman.d/mirrorlist.msys ,在文件开头添加:
Server = http://mirrors.ustc.edu.cn/msys2/msys/$arch
# 刷新软件包数据
pacman -Sy
3. 环境搭建
pacman -S base-devel
pacman -S automake autoconf make mingw-w64-i686-gcc mingw-w64-i686-gdb mingw-w64-i686-SDL mingw-w64-i686-SDL_ttf mingw-w64-i686-make
pacman -S autoconf-archive libtool pkg-config
pacman -S icu-devel mingw-w64-i686-pango mingw-w64-i686-cairo # 选择安装(optional)
pacman -S msys2-devel
pacman -S mingw-w64-i686-toolchain
4. 安装Tesseract4.0
目前使用pcman直接安装的Tesseract版本为3.0.5
tesseract安装依赖leptonica,而leptonica又依赖libgif、libjpeg、libpng、libtiff、zlib、libwebp、libopenjp2、xz等库。
# 安装leptonica
pacman -S mingw-w64-i686-leptonica # 安装git
pacman -S git # 下载tesserat4.0源码
git clone https://github.com/tesseract-ocr/tesseract.git tesseract-ocr # autogen.sh的作用也是检测你的编译工具和依赖关系包是否完整
./autogen.sh
./configure --enable-debug
make -j4
make install

如果安装tesseract3.0.5,只需要:
# 安装
pacman -S mingw-w64-i686-tesseract-ocr # 卸载
pacman -S mingw-w64-i686-tesseract-ocr
5. 遇到的错误
1)

pacman -S mpfr
2)

尝试更新软件包:
pacman -Syu
6. 测试:

如果想要在windows的命令行中也是可以使用tesseract,将tesseract.exe拷贝到其他目录,然后双击运行,这时肯定会报错
根据提示拷贝对应的dll到当前tesseract.exe所在目录即可。
效果:

参考:
https://github.com/mangband/mangband/wiki/MSYS2
https://github.com/tesseract-ocr/tesseract/wiki
https://github.com/tesseract-ocr/tesseract/wiki/Compiling
Win10 使用MinGW-w64编译Tesseract4.0的更多相关文章
- win10 vs2015源码编译tesseract4.0
1.安装软件 cmake 下载地址 cppan 下载地址 安装完毕后,需要将cmake.exe和cppan.exe加入环境变量PATH中 cmake简介 CMake全称为“cross platf ...
- win10 vs2015源码编译opencv、opencv_contrib、Tesseract
1.软件包准备 opencv源码包地址: 官网 github opencv_contrib源码包地址: github Tesseract源码包地址: ...
- Qt for Windows:Qt 5.4.0 MinGW 静态编译版本制作 (转)
大致流程: 1.安装Qt(源码版)以及其他必要的环境 2.编译/安装 3.配置 4.使用 ----------正文分割线---------- 1.安装Qt(源码版) 1.1 下载Qt(两个地址二选一即 ...
- 如何在vs2015中编译并配置tesseract4.0
1)安装相关软件: 下载ccpan,把路径放到path(右击电脑,选择“属性”,选择左边的“高级系统设置”,选择“环境变量”,找到“系统变量”里面的“path”,点击“编辑”,选择右边的“新建”,输入 ...
- win10下vs2015配置Opencv3.1.0过程详解
下载安装Opencv3.1.0 下载Opencv3.1.0,进入官网,点击opencv for windows即可下载. 点击运行下载好的文件.实际上,opencv的安装程序就是解压缩文件,个人因为 ...
- 在Ubuntu Server14.04上编译Android6.0源码
此前编译过Android4.4的源码,但是现在Android都到了7.0的版本,不禁让我感叹Google的步伐真心难跟上,趁这周周末时间比较充裕,于是在过去的24小时里,毅然花了9个小时编译了一把An ...
- Mingw64编译wxWidgets3.0.2常见错误
使用Mingw64编译wxWidgets3.0.2,首先得下载wxMSW-Setup-3.0.2.exe(https://sourceforge.net/projects/wxwindows/file ...
- windows & gcc & mingw & mysy 编译 openssl
今天有一个项目需要使用到 https, 以前一直用的都是http请求, 用 socket() 实现 https 请求我还真是头一回遇到. 先网上搜索了一下相关资料,明白了 https 相比较 http ...
- win10下vs2015配置Opencv3.1.0过程详解(转)
下载安装Opencv3.1.0 下载Opencv3.1.0,进入官网,点击opencv for windows即可下载. 点击运行下载好的文件.实际上,opencv的安装程序就是解压缩文件,个人因为 ...
随机推荐
- ES6参数默认值
参数默认值 1.首先,来看一下es5中的函数默认值 var a = a || 10; var b = b || "none" // 当a的值或者b的值为undefined时,根据逻 ...
- wav文件系列_2_Python实现读写
本文介绍了 Python 实现音频读写的方法.Python wave 模块提供便捷的 wav 文件操作.该模块并不支持压缩与解压,但支持单声道/立体声的转换. 参考: [1] wave — Read ...
- 周强、张季跃,马凯军《面向对象与程序设计Java》第十四周学习总结
实验十四 Swing图形界面组件 实验时间 20178-11-29 理论部分:不使用布局管理器 有时候可能不想使用任何布局管理器,而只 是想把组件放在一个固定的位置上.下面是将一 个组件定位到某个绝 ...
- Delphi7连接MySql数据库-DBGrid控件显示数据
一个简单的Delphi7小程序,使用MySql数据库做简单查询,用DBGrid控件显示结果,实现过程如下: (1)在MySql中新建demouser表,插入记录用于测试. (2)在Delphi7中新建 ...
- UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 199: illegal multibyte sequence
=================================版权声明================================= 版权声明:原创文章 谢绝转载 请通过右侧公告中的“联系邮 ...
- Github Page搜索工具更新 - 探索功能
探索功能提供了一种快速访问有意思的Github Page的途径,每周探索功能会更新有趣的搜索词条,你可以点击感兴趣的词条来获取该词条对应的Github Page. 首批Github Page探索词条包 ...
- [ 随手记6 ] C/C++ 形参、实参、按值传参、指针传参、引用传参
个人原创: 1. 形参:形式上的参数,一般多在函数声明.函数定义的参数上: 2. 实参:实体参数,有实际的值,在运算上被循环使用的值: 3. 按值传参:按值,就是把实际的值传给函数内部: 4. 指针传 ...
- Dart 的function
方法的定义 返回类型 方法名 (参数1 ,参数2 ,...){ 方法体 返回值 } => 的使用
- 异常详细信息: System.BadImageFormatException: 未能加载文件或程序集“Maticsoft.Common”或它的某一个依赖项。试图加载格式不正确的程序。
异常详细信息: System.BadImageFormatException: 未能加载文件或程序集“Maticsoft.Common”或它的某一个依赖项.试图加载格式不正确的程序. 解决方法: 点击 ...
- IIC详解
(1)概述 I2C(Inter-Integrated Circuit BUS) 集成电路总线,该总线由NXP(原PHILIPS)公司设计,多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距 ...
