Windows下QT程序打包的常规步骤 在windows下可以使用QT自带的打包工具进行打包,主要步骤如下: (1)找到对应编译器版本windeployqt,老版本的QT可以直接在“开始”菜单当中查找,我用的5.15.2版本的QT,开始菜单当中没有找到,可以使用以下方式: 1)找到对应编译器版本的QT的可执行目录,比如,我自己的msvc2019编译器,64位版本的目录为“D:\Qt\5.15.2\msvc2019_64\bin”; 2)打开windows下的命令行工具,之后在命令行工具当中输入"D:“进入盘符,在使用” cd D:\Qt\5.15.2\msvc2019_64\bin",进入windeployqt可执行文件的文件夹; 3)此时执行 ./windeployqt 就运行windeployqt程序; (2)无论是第一种直接打开windeployqt还是第二种通过命令行运行 windeployqt程序,之后输入命令如下:“windeployqt --release --qmldir … --qmldir D:\Qt\5.15.2\msvc2019_64\qml XXX.exe”; 其中,–release 为指定打包版本为release版本,–debug为指定为debug版本,一般无特殊情况,均打包release版本; –qmldir指定网上一说为指定QML文件所在的路径,另一说为指定QML相关的库路径,所以我一般习惯把两个路径都指定,这样也不会有太大的问题; QWidget用户不需要指定 --qmldir; XXX.exe为指定可执行文件的路径; 这样程序就打包好了; 相关问题及解决 1.程序无法运行,显示缺少 “xxx.dll” 解决方法:windeployqt的原理是扫描 exe依赖的QT的动态库,将其拷贝到exe的目录当中,exe依赖的其它动态库,应自己拷贝到exe的同级目录当中,否则会找不到 dll; 2.程序运行状态不正常; 问题排查:排查资源文件的路径是否正确,一般来说资源文件也要放在可执行文件的同级目录,同时在源代码中,资源文件的路径应为相对路径,
Windows下QT程序打包及打包不成功问题解决