Qt5+opencv程序打包发布

编程环境为win7+QtCreator5.6+opencv3.0,总结,程序打包发布的方法:

第一步:使用windeployqt(转自http://tieba.baidu.com/p/3730103947,感谢楼主分享)

Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,
如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行。
因此 Qt 官方开发环境里自带了一个工具:windeployqt.exe。
以官方 Qt 5.4.0+MinGW 开发环境为例,
从开始菜单--》Qt 5.4.0--》5.4--》MinGW 4.9 (32-bit)--》Qt 5.4 for Desktop (MinGW 4.9 32 bit),可以打开 Qt 命令行,从这里就可以执行 windeployqt 工具。
集成开发环境 QtCreator 目前生成图形界面程序 exe 大致可以分为两类:
Qt Widgets Application 和 Qt Quick Application。
Qt Widgets Application可执行程序发布方式
首先用 QtCreator 新建一个 Qt Widgets Application 项目,直接用默认的 QMainWindow 程序就可以了,项目名字假定是 hellomw。
然后以 Release 方式编译生成 exe 程序:
Qt5+opencv程序打包发布_第1张图片

生成的程序运行正常之后,找到项目的生成目录,比如 项目源码路径:
C:\QtPros\hellomw\
它的项目生成目录是
C:\QtPros\build-hellomw-Desktop_Qt_5_4_0_MinGW_32bit-Release\
进入这个文件夹,在进入它的子文件夹 release 里面,找到 hellomw.exe ,
将这个exe 复制到一个新的单独的文件夹里用于发布,比如存到 
D:\hellomw\ 文件夹里面。

然后从开始菜单打开 Qt 命令行,输入命令 :
cd /d D:\hellomw
然后使用 windeployqt 工具命令:
windeployqt hellomw.exe
Qt5+opencv程序打包发布_第2张图片

然后可以在 D:\hellomw 文件夹里看到 windeployqt 工具自动复制的插件文件夹
和 dll文件、qm文件。这时候得到的就完整的 exe 程序发布集合,依赖关系都解决好了。
Qt5+opencv程序打包发布_第3张图片

D:\hellomw 文件夹里的qm文件是多国语言翻译文件,不需要可以删了,
其他的都保留。

2.第一步完成后会发现程序中依赖的opencv相关的dll文件并没有包含进去,这一步使用工具hap-depends工具(几百kb的一个小工具,网上下载)查看.exe文件依赖的所有dll文件,在其中找到带有opencv的dll文件,然后去opencv的bin文件夹中找到相同的文件,复制到第一步的D:\hellomw 文件夹中,这样所有的依赖dll文件已经全部放在文件夹中了。

3.使用工具Enigma Virtual Box(网上下载,同样很小的)对第二步完成的文件夹进行打包,生成最终的.exe文件。

   收工!!!

你可能感兴趣的:(Qt5+opencv程序打包发布)