Qt5+opencv程序打包发布
2016-05-09 08:31
471 查看
编程环境为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 程序:
生成的程序运行正常之后,找到项目的生成目录,比如 项目源码路径:
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
然后可以在 D:\hellomw 文件夹里看到 windeployqt 工具自动复制的插件文件夹
和 dll文件、qm文件。这时候得到的就完整的 exe 程序发布集合,依赖关系都解决好了。
D:\hellomw 文件夹里的qm文件是多国语言翻译文件,不需要可以删了,
其他的都保留。
2.第一步完成后会发现程序中依赖的opencv相关的dll文件并没有包含进去,这一步使用工具hap-depends工具(几百kb的一个小工具,网上下载)查看.exe文件依赖的所有dll文件,在其中找到带有opencv的dll文件,然后去opencv的bin文件夹中找到相同的文件,复制到第一步的D:\hellomw
文件夹中,这样所有的依赖dll文件已经全部放在文件夹中了。
3.使用工具Enigma Virtual Box(网上下载,同样很小的)对第二步完成的文件夹进行打包,生成最终的.exe文件。
收工!!!
第一步:使用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 程序:
生成的程序运行正常之后,找到项目的生成目录,比如 项目源码路径:
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
然后可以在 D:\hellomw 文件夹里看到 windeployqt 工具自动复制的插件文件夹
和 dll文件、qm文件。这时候得到的就完整的 exe 程序发布集合,依赖关系都解决好了。
D:\hellomw 文件夹里的qm文件是多国语言翻译文件,不需要可以删了,
其他的都保留。
2.第一步完成后会发现程序中依赖的opencv相关的dll文件并没有包含进去,这一步使用工具hap-depends工具(几百kb的一个小工具,网上下载)查看.exe文件依赖的所有dll文件,在其中找到带有opencv的dll文件,然后去opencv的bin文件夹中找到相同的文件,复制到第一步的D:\hellomw
文件夹中,这样所有的依赖dll文件已经全部放在文件夹中了。
3.使用工具Enigma Virtual Box(网上下载,同样很小的)对第二步完成的文件夹进行打包,生成最终的.exe文件。
收工!!!
相关文章推荐
- 专访安晓辉:Qt是最佳的跨平台解决方案
- Qt5解析json文件
- 如何用Qt Designer快速设计产品的高保真原型
- Qt信号和槽
- QT串口模拟-基本界面
- Qt和Qml交互,及多线程
- 嵌入式开发中qt环境的搭建
- 第一个Qt程序
- 在Qt中使用C++代码创建界面
- QT 学习之路
- Ubuntu 下安装 QT 开发环境
- Ubuntu系统使用Qt Designer设计界面
- Qt的下载和安装
- Qt发展历史及其特点简介
- Qt标准对话框之QMessageBox
- 在VS2013中配置QT5 win7_64
- Qt静态库下载与安装说明
- Qt应用程序以管理员身份启动
- Qt之添加应用程序图标
- 在Qt4中使用OpenGL