一开始尝试使用mingw+msys编译tesseract, 可是苦于mingw-get安装的软件版本都太旧,要安装新版本只能下载源码编译安装。git
在编译过程当中遇到了不少麻烦,最后还遇到了包直接循环依赖问题(glib和pkg-config),最终只能做罢。github
地址: https://www.msys2.org/web
安装后打开msys2.exe, 务必要先更新软件包数据库和核心系统包(很重要),不然在安装tesseract过程当中出现莫名奇妙的问题。
数据库
pacman -Syu
# -y, --refresh 从服务器下载新的软件包数据库 (-yy 强制更新软件包数据库) # -u, --sysupgrade 升级全部已安装的软件包 (-uu 可启用降级)
默认的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
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
目前使用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
# 安装 pacman -S mingw-w64-i686-tesseract-ocr # 卸载 pacman -S mingw-w64-i686-tesseract-ocr
1)
pacman -S mpfr
2)
尝试更新软件包:
pacman -Syu
若是想要在windows的命令行中也是能够使用tesseract,将tesseract.exe拷贝到其余目录,而后双击运行,这时确定会报错
根据提示拷贝对应的dll到当前tesseract.exe所在目录便可。
效果:
https://github.com/mangband/mangband/wiki/MSYS2