我们通常打包Qt程序用Enigma virtual box。这样我们的程序就可以在别的电脑上也能运行,但是有时候,我们发现Enigma virtual box在打包的时候,对于msvc2017需要编译的程序中引用webengineview模块,打包时候发现不能运行。
我们如何处理这种困境呢?
这边提供第二种方法,用win rar打包,这种方法也能实现QT程序打包成exe文件,在别的电脑也能运行,下面详细介绍这种办法。
第一步,通过windeployqt进行发布,生成exe文件。
打开命令行,如上图,一个是MinGW 64bit一个是MSVC2017 64bit。我们开发的程序用什么编译就用那个cmd。我们开发程序用的msvc2017选用下面那个命令行打开。
打开如下:
截图中的exe文件是QT生成的exe文件,一般用release生成的文件。这个文件一般单独放在一个文件夹。
回车得到关于exe文件的所有依赖文件,截图:
因为exe程序执行需要这些dll文件,其他依赖文件,所以我们用win rar来生成一个可移动的exe文件。
第二步,通过winrar生成单独执行的exe文件
首先选中所有文件添加到压缩文件
填写压缩文件名,选中自解压格式压缩文件。
选中高级,自解压选项。
选中设置,和需要运行的exe文件
选中模式,勾选解包到临时文件夹和全部隐藏。
选中更新,勾选如上图更新方式和覆盖方式。
选中文本和图标,选中exe文件图标。直到现在所有东西设置完毕,确定即可得到exe文件,如下图
可以移动到任何文件执行exe程序。
本文提供的是用win rar打包qt msvc2017带有webengineview的程序。