VS2017打包生成.exe文件在其他电脑上运行发布

.exe打包生成步骤

  • 概述
  • 编译程序,生成.exe
  • 打包Qt相关依赖库
  • 打包VS和OpenCV相关依赖库
  • Tesseract安装配置
    • 安装Tesseract
    • 配置环境变量
    • 验证安装成功
    • 验证识别效果
  • 其他

概述

将VS2017中写好的程序打包生成.exe文件,在其他没有任何相关软件的电脑上运行发布,其中程序所用到Qt、OpenCV、Tesseract,将所用到的资源文件和静态链接库进行打包,最后移植到另一台电脑上。

编译程序,生成.exe

由于是发布模式,编译程序时,选择Release版本
使用发布运行库和静态链接:多线程(/MT)

配置步骤:
项目 -> C/C++ -> 代码生成 -> 运行库 -> 多线程(/MT)
VS2017打包生成.exe文件在其他电脑上运行发布_第1张图片编译后,生成.exe文件。文件所在目录为你的工程文件下的x64/Release.
VS2017打包生成.exe文件在其他电脑上运行发布_第2张图片

打包Qt相关依赖库

(1)首先用到Qt自带的工具——windeployqt.
该工具一般位于Qt安装目录下。例如我的目录为:G:\Qt\Qt5.12.3\5.12.3\msvc2017_64\bin.

并将该目录配置到系统环境变量Path中。
VS2017打包生成.exe文件在其他电脑上运行发布_第3张图片

(2)打开命令提示符cmd,进入你要发布的程序的所在目录。例如我的目录为:F:\Wor\1号工位\2.0\QWORK3\x64\Release.

(3)输入“windeployqt QWORK3.exe”命令,其中QWORK3是工程名称。
VS2017打包生成.exe文件在其他电脑上运行发布_第4张图片

(4)完成后,Qt将自动复制它所依赖的dll文件、qm文件和各个插件文件,此时打开你要发布的程序的目录即可看到。
VS2017打包生成.exe文件在其他电脑上运行发布_第5张图片

打包VS和OpenCV相关依赖库

以上仅打包了与Qt相关的库,还有VS和OpenCV的库,此时可以借助工具“Depends”查看dll动态链文件。

(1)下载“Dependency Walker”.

(2)打开要发布的程序,即可查看所包含的库。

(3)根据路径找到那些文件后,手动添加到工程目录下。
VS2017打包生成.exe文件在其他电脑上运行发布_第6张图片

Tesseract安装配置

由于tesseract-orc包含语言库,不能仅通过上面添加dll文件的方式,要想实现字符识别的功能,必须在要发布的电脑上安装和配置tesseract.

安装Tesseract

tesseract可在GitHub上下载:https://github.com/UB-Mannheim/tesseract/wiki
VS2017打包生成.exe文件在其他电脑上运行发布_第7张图片
(这是目前最新版的,可以根据自身需求选择下载版本)

下载好后,双击.exe安装程序。
VS2017打包生成.exe文件在其他电脑上运行发布_第8张图片
(安装步骤简单,一路选择Next,这里不再赘述)

选择语言包,可根据工程需要识别的语言进行选择。
打开Additional language data(download)选项,勾选自己需要的语言包。我这里只选择了简体中文。
VS2017打包生成.exe文件在其他电脑上运行发布_第9张图片
VS2017打包生成.exe文件在其他电脑上运行发布_第10张图片

配置环境变量

安装完成后,将安装路径添加到系统环境变量Path中。
例如我的路径为:G:\Tesseract-OCR.

新建一个系统变量TESSDATA_PREFIX,变量值为:G:\Tesseract-OCR\tessdata.
此目录是存放tesseract-ocr 语言包文件。
VS2017打包生成.exe文件在其他电脑上运行发布_第11张图片

验证安装成功

打开命令提示符cmd,输入“tesseract -v”命令,输出版本信息即代表安装成功。
在这里插入图片描述

验证识别效果

用一张数字图像进行试验。
在这里插入图片描述
打开命令提示符cmd,输入“tesseract 1.jpg a -l eng”命令。
这里的1.jpg是图片名称,a为生成的识别文件.txt,-l为英文字母L,而不是数字1.
VS2017打包生成.exe文件在其他电脑上运行发布_第12张图片
注意:要进入识别图片的路径!(这里我把图片存在了桌面上)

最后生成a.txt识别文件。即识别成功。
VS2017打包生成.exe文件在其他电脑上运行发布_第13张图片

其他

完成以上配置后,如在其他电脑上运行.exe出现报错,说缺少某些dll文件,即可手动添加到打包的工程文件下。
以上的配置已经完成了大部分的资源文件和相关依赖库的打包,剩下的一些可能是由于系统或者版本的原因,所需要添加的库也很少了,可以自行手动添加。

你可能感兴趣的:(VS2017打包生成.exe文件在其他电脑上运行发布)