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

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

1. 下载安装mysy2

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

安装后打开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的更多相关文章

  1. win10 vs2015源码编译tesseract4.0

    1.安装软件 cmake  下载地址 cppan   下载地址 安装完毕后,需要将cmake.exe和cppan.exe加入环境变量PATH中 cmake简介 CMake全称为“cross platf ...

  2. win10 vs2015源码编译opencv、opencv_contrib、Tesseract

    1.软件包准备 opencv源码包地址:                官网  github opencv_contrib源码包地址:   github Tesseract源码包地址:        ...

  3. Qt for Windows:Qt 5.4.0 MinGW 静态编译版本制作 (转)

    大致流程: 1.安装Qt(源码版)以及其他必要的环境 2.编译/安装 3.配置 4.使用 ----------正文分割线---------- 1.安装Qt(源码版) 1.1 下载Qt(两个地址二选一即 ...

  4. 如何在vs2015中编译并配置tesseract4.0

    1)安装相关软件: 下载ccpan,把路径放到path(右击电脑,选择“属性”,选择左边的“高级系统设置”,选择“环境变量”,找到“系统变量”里面的“path”,点击“编辑”,选择右边的“新建”,输入 ...

  5. win10下vs2015配置Opencv3.1.0过程详解

    下载安装Opencv3.1.0 下载Opencv3.1.0,进入官网,点击opencv for windows即可下载.  点击运行下载好的文件.实际上,opencv的安装程序就是解压缩文件,个人因为 ...

  6. 在Ubuntu Server14.04上编译Android6.0源码

    此前编译过Android4.4的源码,但是现在Android都到了7.0的版本,不禁让我感叹Google的步伐真心难跟上,趁这周周末时间比较充裕,于是在过去的24小时里,毅然花了9个小时编译了一把An ...

  7. Mingw64编译wxWidgets3.0.2常见错误

    使用Mingw64编译wxWidgets3.0.2,首先得下载wxMSW-Setup-3.0.2.exe(https://sourceforge.net/projects/wxwindows/file ...

  8. windows & gcc & mingw & mysy 编译 openssl

    今天有一个项目需要使用到 https, 以前一直用的都是http请求, 用 socket() 实现 https 请求我还真是头一回遇到. 先网上搜索了一下相关资料,明白了 https 相比较 http ...

  9. win10下vs2015配置Opencv3.1.0过程详解(转)

    下载安装Opencv3.1.0 下载Opencv3.1.0,进入官网,点击opencv for windows即可下载.  点击运行下载好的文件.实际上,opencv的安装程序就是解压缩文件,个人因为 ...

随机推荐

  1. 在终端中使用vim命令修改某些文件,会提示文件只读模式,可以执行以下命令强制写入

    在末行模式中输入以下命令 :w !sudo tee % 回车后可能需要输入密码

  2. Linux下Redis4.0.12安装、配置、优化

    一.安装 1.检查gcc环境 执行命令,如果Linux系统没有安装gcc编译器,会提示“Command not found” # gcc -v 安装gcc # yum -y install gcc 以 ...

  3. 在Netbeans的项目中添加JDBC驱动程序

    想要使用Java连接MySQL数据库,必须在环境中加入配置JDBC驱动程序 Netbeans中添加JDBC的过程是: 1.首先需要下载JDBC 在百度中搜索“mysqljdbc驱动下载”,找到官网 或 ...

  4. navicat premium 安装破解(Mac & win)

    1.windows请参考以下连接: https://www.jianshu.com/p/5f693b4c9468 2.mac安装教程 下载:http://www.pc6.com/mac/111878. ...

  5. java数组的for遍历

    class ArrayDome { public static void main(String[] args) { int[] arr = {12,51,12,11}; //顺序遍历 for(int ...

  6. 【leetcode】492. Construct the Rectangle

    problem 492. Construct the Rectangle 参考 1. Leetcode_492. Construct the Rectangle; 完

  7. 学习笔记:Spark Streaming的核心

    Spark Streaming的核心 1.核心概念 StreamingContext:要初始化Spark Streaming程序,必须创建一个StreamingContext对象,它是所有Spark  ...

  8. Unity3D实现多语言切换

    项目现在需要做多语言切换部分,下面是一个基本多语言切换实现 1. 首先建立一个类来存放字符,其中包括一个静态方法来根据Key和语言类型获取对应字符 using System.Collections; ...

  9. React组件性能调优

    React是一个专注于UI层的框架,它使用虚拟DOM技术,以保证它UI的高速渲染:使用单向数据流,因此它数据绑定更加简单:那么它内部是如何保持简单高效的UI渲染呢?这种渲染机制有可能存在什么性能问题呢 ...

  10. SQL动态长度行列转置

    一,案列问题描述: 某销售系统中,注册的用户会在随后的月份中购物下单,需要按月统计注册的用户中各个月下单的金额.源数据表如下: FM::注册月份,CM: 下单月份, AMT:下单金额 期望得到如下统计 ...