Win10 使用MinGW-w64编译Tesseract4.0

一开始尝试使用mingw+msys编译tesseract, 可是苦于mingw-get安装的软件版本都太旧,要安装新版本只能下载源码编译安装。git

在编译过程当中遇到了不少麻烦,最后还遇到了包直接循环依赖问题(glib和pkg-config),最终只能做罢。github

1. 下载安装mysy2

地址: https://www.msys2.org/web

安装后打开msys2.exe, 务必要先更新软件包数据库和核心系统包(很重要),不然在安装tesseract过程当中出现莫名奇妙的问题。
数据库

pacman -Syu
# -y, --refresh 从服务器下载新的软件包数据库 (-yy 强制更新软件包数据库) # -u, --sysupgrade 升级全部已安装的软件包 (-uu 可启用降级)

2. 更新软件源

默认的MSYS2 源升级软件或是安装新软件的较慢,这里为了提升速度使用中科大的源windows

编辑 /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.5spa

tesseract安装依赖leptonica,而leptonica又依赖libgif、libjpeg、libpng、libtiff、zlib、libwebp、libopenjp二、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

相关文章
相关标签/搜索