还记得刚工作那会儿在接触qt不久后想让编译出来的exe文件能够脱离环境运行,比如写个小软件能让其在其他人电脑上动起来,满足一下小小的虚荣心。当时好像挺麻烦的(或许当时自己还是了解的太少),有个同事告诉了我一个办法,在网上找到与你安装的QT版本差不多的静态库,当编译程序时,就会将所有需要用到的静态库文件编在一块,这样就可以在任何电脑上运行了。缺点是网上已有可供下载的静态库版本有限,当自己的QT版本与其不一时,总不能卸载了吧。当时对于这种方法并不满意。
今天参考网友的方法,亲测了一把一种比较简单的方法,可行,特简单记录一下,以供大家参考。
1. 将qt项目切换成release版本,编译,将生成的文件内的.exe文件单独拷贝出来放到一个新建的文件夹中。
将ShuraYard.exe复制进我新建的命名为exe的文件夹内(名字可以随便取);
2. 找到你qt对应版本的命令打开,执行windeployqt命令
输入cd /d 目标文件夹的绝对路径,进入后,输入windeployqt 目标exe全称,回车后很快就完成了相关转化,
此时,将这个文件夹拷贝到其他电脑,就可以直接运行exe程序了(如果不能运行则说明你选择的编译器不对),但事情还没有结束,附带的文件还是有点多,不够利落。
3. 利用Enigma Virtual Box打包(将上述所有的文件变成一个可执行程序)
官方下载地址:Enigma Virtual Box
Add...第二步选择第二项Add Folder Recursive,添加完成后Process即可完成。
最后,在输出文件夹下会生成目标打包exe文件,将这个单独的exe文件拷贝到小伙伴的电脑上就可以肆意运行了。