【QML】qt打包qml程序

Debug版本程序依赖的dll文件很大,主要因为是debug版本程序中包含了调试信息,可以用来调试。而真正要发布程序时要使用release版本,这样可以减少发布程序的体积同时增加软件的安全。

1、先使用Release编译运行

                                     

2、 找到Release编译运行之后,并将.exe文件单独复制到一个新的文件中

3、在文件夹中右键点击,选择在终端中打开,如果没有该选项,则需要cd到所在路径;

4、用Qt自带的生成必备的dll文件的程序windeployqt,来把必要的动态库拷到该文件夹中,键入windeployqt.exe的绝对路径,留个空格.

注意:如果发布的应用是Qt Quick Application应用,那么命令行需要加上QML的安装目录。命令中的D:\ruanjian\Qt\position\5.15.2\msvc2019_64\qml是qml的安装目录,请换成你自己的qml安装目录!!!!!

windeployqt ReconnaissanceSeat.exe --qmldir D:\ruanjian\Qt\position\5.15.2\msvc2019_64\qml --no-patchqt

 在打包完成后,还有可能出现运行后显示不全的问题,这是由于某些动态库没有完整拷贝进去,这时候可以在编译出来的.pro文件中添加 CONFIG +=console 这句就可以正常显示调试输出窗口了。

发现Qt.labs.platform模块没有加载成功。就将QT安装目录下qml相应模块手动拷贝到打包目录下相应的位置

        

 将该目录下的labs赋值下面,替换上面exe所在打包文件下qt文件夹下的labs

 

这样就完成了,双击该文件夹下的exe可运行,如果将其放在另一个电脑中,还出现缺少msvcp140.dll等动态库问题,则是因为对方电脑没有vs(或VC)运行环境,请参考另一个文献如何在windows下发布QT应用程序(qt项目打包) - taohuaxiaochunfeng - 博客园

 

注:若程序中使用了png以外格式的图片,则发布程序时就要将Qt安装目录下的plugins目标中的imageformats文件夹复制到发布程序文件夹中,其中只要保留自己用到的文件格式的dll文件即可。例如用到了gif文件,那么只需要保留qgif.dll。

如果程序中使用了其他的模块,比如数据库,那么就要将plugins目录中的sqldrivers文件夹复制过来

 

 

 

 

 

posted @ 2025-06-10 10:16  taohuaxiaochunfeng  阅读(400)  评论(0)    收藏  举报