qt部分打包流程
1 在菜单里找qt的命令行 打开
如果没有的话也可以找到使用的qt版本安装目录下的bin目录
(如我这里是D:\workspace\msvc_qt\6.5.0\msvc2019_64\bin),
打开命令行终端,运行qtenv2.bat 进行环境变量的配置
2 使用windeployqt工具进行打包
If your application uses Qt Quick, run:
windeployqt --qmldir <path-to-app-qml-files> <path-to-app-binary>
在命令行运行windeployqt的时候会看到这么一行输出 意思是使用了qml的qt项目 打包时需要把qml所在的路径单独加进来
我这里main.qml放在工程的根目录,使用的命令是这个样子
D:\workspace\msvc_qt\6.5.0\msvc2019_64>windeployqt --qmldir C:\Users\11585\source\repos\MyQmlProject C:\Users\11585\source\repos\MyQmlProject\x64\Debug
打包完成后双击exe 可以正常运行
常见问题:
1 qml无法正常加载 log中显示module "QtQuick.Controls" is not installed
这种情况通常伴随exe同级目录下的qml文件夹中缺少你使用的模块(极端情况下qml文件夹里是空的)
原因就是没有使用--qmldir参数去指定qml文件路径。