当做完一个项目后,比如说做了个游戏,想分享给朋友玩之类的,就需要将这些文件打包,这里介绍的是用Qt本身进行打包。
首先是需要打开你的Qt安装目录,例如我的就是D:\qt\qt_download\5.6\mingw49_32\bin,打开以后在这里面找到一个应用程序,也就是下方图片显示的这个,若没有这个将无法进行打包。
然后将自己的Qt允许方式改为release进行运行一次
然后在该文件的目录下会有release版本的,在其中的release文件夹中再选择release,然后找到自己文件的应用程序,将这个程序拷贝到到一个新的文件夹中。接下来我用的是Powershell进行打包,在新创建的文件夹中粘贴好应用程序,然后按住shift右键打开Powershell,前一个是固定的,后一个是自己的应用程序的文件名。
这个时候可能就会出现问题,窗口中显示下面这些内容
+ windeployqt queryModel.exe
+ ~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (windeployqt:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
cmd提示:'windeployqt' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
针对上述问题,就需要打开自己电脑的高级系统设置,然后按照下方显示的检查,path中有没有包含qt的安装目录路径,没有的话就把自己的安装路径填入上移到第一的位置,最后要记得重新打开powershell窗口
打包好后,在文件中会看到一堆打包好的东西,然后尝试打开里面的应用程序,比如我的就是CoinFlip。
若进行报错,显示:
无法定位程序输入点 __gxx_personality_v0 于动态链接库 ...什么什么的
还有就是QT5无法定位程序输入点 于动态链接库QtCore5.dll
这需要重新打包文件,在重新打包文件前需要将安装目录下的这个文件复制到之前只有需要打包的应用程序的文件夹中,再进行打包。这样就能解决问题。
接下来在利用HM NIS Edit这个app进行向导安装即可,网上搜一下就有了