windows平台上打包Qt应用程序,用QT自带的 windeployqt.exe工具(为应用程序复制运行所需要的各种库文件、插件和翻译文件,生成可发布的目录)。
比如计算机安装了mingw53_32、msvc2015、msvc2015_64三个编译器版本,QT安装在D:\IDE\ 目录下,则这三个版本的bin目录分别是:
D:\IDE\qt5.9.1\5.9.1\mingw53_32 ; D:\IDE\qt5.9.1\5.9.1\msvc2015 ; D:\IDE\qt5.9.1\5.9.1\msvc2015_64
注: 应用程序由哪个编译器生成,就用哪个版本的 windeployqt 生成发布用的文件。
如果是用MSVC编译的,则需要设置环境变量 VCINSTALLDIR 的值为VS目录。 比如: C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC。
假设应用程序名称为QAppDemo.exe,打包步骤如下:
1、将应用程序 QAppDemo.exe 复制到一个目录下,例如 E:\QAppDemo\install
2、点击开始菜单,找到QT的目录下的对应的shell命令窗口,打开(比如:msvc2015编译的,就打开Qt 5.9.1 32-bit for Desktop(MSVC 2015))
3、在打开的shell命令窗口中,输入如下命令:
cd E:\QAppDemo\install
windeployqt QAppDemo.exe
执行完成后,windeployqt 将 QAppDemo.exe 运行时所需要的各种库文件都复制到目录 E:\QAppDemo\install 下。
4、双击 QAppDemo.exe 运行检验,若提示 缺少某动态库, 则需要手动去拷贝。
5、运行成功后,删除一些无关的库。因为windeployqt一般会多复制与QAppDemo.exe无关的库,可以尝试一个一个地删除看起来不相关的库,直到QAppDemo.exe不能运行,不能再删除了。这个步骤是保证打的包最小。