背景:
Qt 版本5.12 VS2017 WIndows10 版本编译软件在Windows7下发布,出现卡顿问题。 由于windows10下编译的文件会有带一些库,windows7下又不存在这些库,或者名字产生更改
,导致软件运行出现各种问题。
介绍一下我所使用的打包工具。一个是QT5自带的windeployqt( 不需要下载安装),另外一个是Engima Virtual Box,这是下载链接Engima Virtual Box https://enigmaprotector.com/en/downloads.html,
解决办法:
<1>: 打开一个QT程序,以release方式运行一次。操作如下图:
这时你的工程项目文件夹下,会生成一个关于release的文件夹:
<2>:打开关于release相关的文件夹,找到该目录下release目录下的.exe程序。此时你点击是运行不成功的。因为缺少QT必要的库文件。将这个.exe文件拷贝出来,创建一个单独的文件夹,放在这个文件夹下。
<3>:在win10下,搜索MVSC,如下图:接着输入命令行,输入你的打包路径如D:\ ,cd 路径(指的是需要打包的exe程序目录,就是刚才拷贝出来的exe程序所在的目录),回车后:
输入如下命令行:windeployqt 程序名.exe 回车。这一步操作是将所需的库文件全都拷贝到exe程序的当前文件:
<4>打开运行Enigma Virtual Box:
点击界面的增加按钮–>增加文件夹(递归)如下图。选择增加文件夹,使用 %DEFAULT FOLDER%
在文件选项中可以选择是否将文件压缩:
然后点击执行封包。
封装完后将文件拷贝发布,由于Qt自带的库比较多打包完有100多M。
拷贝到windows7电脑运行。发现可成功运行。
暂时没发现什么弊端