一、QT程序发布方式
Qt 发布的时候,通常使用两种方式:
(1)静态编译
(2)动态编译
静态编译:把相关联的库一并引入可执行程序,虽然发布简单,但可执行程序本身较大。
动态编译:相关联的库,以 dll 的形式引用,不被包含进可执行程序,附带的dll文件较多,但可执行程序本身较小。
二、动态打包发布
2.1 打包工具
在QT5以后的版本中,Qt 的编译器安装包里自带了一个打包工具: windeployqt.exe
windeployqt 工具可以自动复制插件文件夹和 dll 文件、 qm 文件到程序目录。,可以得到完整的 exe 程序发布集合,解决所有的依赖关系,不用手动去一个一个复制(QT4程序发布就需要自己手打复制,比较麻烦)。
2.2 准备工作
1. 需要一个完整正常编译的 QT 工程。
2. 编译的时候选择 Release 方式部署(不要选择Debug方式)。
2.3 windeployqt.exe 工具位置
windeployqt.exe 工具在 QT 的安装目录下。
比如:
MINGW 编译器:
C:\app_setup\for_QtQt5.5.1\5.5\mingw492_32\bin\windeployqt.exe
VS 编译器:
D:\Qt\Qt5.5.0\5.5\msvc2010\bin\windeployqt.exe
当前 QT程序 采用哪一个编译器, 就选择对应的 windeployqt.exe 程序。
2.4 打包发布(自动寻找依赖)
第一步: 将 QT 编译生成的 xxx.exe 可执行文件拷贝到一个单独的文件夹。
第二步: 按下键盘上的windows按钮,打开窗口列表,找到QT安装的位置(按字母排序的Q),选择当前QT程序编译时使用的编译器,打开命令行终端。
第三步: 切换到QT程序存放的目录下。
发布成功: