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的安装程序就是解压缩文件,个人因为 ...
随机推荐
- Python 查看线程的进程id
import os from threading import Thread # from multiprocessing import Process def f1(n): print('1号',o ...
- [C# 基础知识系列]专题五:当点击按钮时触发Click事件背后发生的事情 (转载)
当我们在点击窗口中的Button控件VS会帮我们自动生成一些代码,我们只需要在Click方法中写一些自己的代码就可以实现触发Click事件后我们Click方法中代码就会执行,然而我一直有一个疑问的—— ...
- 基于selenium+phantomJS的动态网站全站爬取
由于需要在公司的内网进行神经网络建模试验(https://www.cnblogs.com/NosenLiu/articles/9463886.html),为了更方便的在内网环境下快速的查阅资料,构建深 ...
- 自动删除Android工程中无用的资源
开发时间久了, 几个版本迭代之后, 工程中难免留下很多垃圾资源, 造成apk的包很大, 这里介绍一个工具, 可以自动扫描工程中, 没有使用的资源, 然后自动删除: 包括图片, xml, 文本等. 采用 ...
- python利用requests和threading模块,实现多线程爬取电影天堂最新电影信息。
利用爬到的数据,基于Django搭建的一个最新电影信息网站: n1celll.xyz (用的花生壳动态域名解析,服务器在自己的电脑上,纯属自娱自乐哈.) 今天想利用所学知识来爬取电影天堂所有最新电影 ...
- Egret_简单的封装方法
////////////随机颜色***////////////////////////// private getRdmClr(): number { return (Math.floor(Math. ...
- python中shutil模块的使用
可以操作权限的处理文件模块:shutil # 基于路径的文件复制 import shutil shutil.copyfile("oldfile_path","newfil ...
- complex类的设计实现
#include <iostream> #include <cmath> using namespace std; class Complex{ ,); Complex(Com ...
- 30天代码day0
a class is a collection of variables (fields) and functions called methods. A program is a collectio ...
- day09三目运算
内容详细 1.三目运算(三元运算) v=前面 if 条件 else 后面 if 条件: v="前面" else: v="后面" #让用户输入值,如果值是整数,则 ...