项目在VS+Qt联合开发环境下、使用qwt工具库;因此项目中需要分三步打包;
在实现之前将可执行文件(.exe)文件单独放到一个文件夹中,本步骤中的目标项目为C:\\项目名称;
1、Qt 查找项目中使用到的qt动态链接库;
步骤如下
①打开项目使用的windeployqt工具[如本文使用的:Qt 5.12.0 64-bit for Desktop(MSVC 2017)];
②CMD命令 cd 进入到项目所在根目录;
③CMD命令 cd 进入到x64 / Debug或Release 文件夹下 ,该文件夹包含ProjectName.exe;
④使用命令:windeployqt ProjectName.exe (在目标文件夹所在目录下执行该命令);
2、Visual Studio
①打开VS目录下的 x64_x86 Cross Tools Command Prompt for VS(x64_x86交叉工具命令提示符);
②CMD命令 cd 进入到项目所在根目录下的x64 / Debug或Release 文件夹下 ,该文件夹包含ProjectName.exe(与Qt的目录路径相同);
③执行命令:dumpbin /IMPORTS ProjectName.exe>output.txt
④执行完成后,可以在工程目录下查看output.txt文件;
④根据output.txt文件中的***.dll名子,使用工具everything查找依次添加dll;(本次添加添加了qwt所包含的dll)
everything工具下载地址:http://www.voidtools.com/
以上就完成了打包工作;
——————————————————————————————
常见解决方案:
1.解决This application failed to start because no Qt platform plugin could be initialized的办法
①添加环境变量:此电脑 -> 属性 -> 高级 -> 系统设置 -> 环境变量;新建系统环境变量。
②变量名:QT_PLUGIN_PATH
变量值:C:\Qt\Qt5.12.0\5.12.0\msvc2017_64\plugins【为Qt安装路径下的plugins文件夹】