需要用到QT自带的windeployqt工具,以及Enigma Virtual Box
Enigma Virtual Box下载链接如下(The Enigma Protector - 专业的软件授权保护系统)
如果没有打包成一个exe文件的需求,只需要windeployqt工具即可
具体步骤如下:
1. 首先将自己调试完成的程序使用release模式编译,获得发布模型的exe文件,如下图Firstprogram.exe文件;
2. 将上一步得到的Firstprogram.exe拷贝到一个新文件夹中;
3. 此时双击Firstprogram.exe发现出错,因为程序还缺少必要的动态链接库。因此需要使用qt自带的windeployqt工具将Firstprogram.exe运行所需的动态链接库自动下载到上述文件夹中;
4. 按下win键,搜索qt,双击Qt 5.15.2 (MSVC 2019 64-bit)运行(也可以是其他版本,根据自己的编译器版本进行选择)
5. 和cmd命令行的操作一样,首先用cd命令,将运行路径调整为Firstprogram.exe所在文件夹
cd /d E:\Code\New
6. 输入windeployqt+你的exe的名字,回车执行;如:windeployqt Firstprogram.exe
7. 等待运行完成,此时Firstprogram.exe所在文件夹就会多出很多文件,这些就是刚刚下载的Firstprogram.exe运行所需的文件。此时双击Firstprogram.exe,发现可正常运行。
接下来就是将所有文件打包成一个exe文件
如果嫌这么多文件每次传输比较麻烦,或者希望只有一个exe文件自己的程序就可以运行。就需要借助Enigma Virtual Box(The Enigma Protector - 专业的软件授权保护系统)将所有文件打包成一个文件。具体步骤如下:
1.假设你已经安装完毕Enigma Virtual Box。打开Enigma Virtual Box,如下界面;
2. 点击浏览,将之前生成好的文件夹中的Firstprogram.exe导入。软件会默认生成一个原名+_boxed的exe文件,此即为打包形成的文件。可以自定义生成文件的名称;
3. 然后,将刚刚的文件夹中的内容拖入。在弹窗中点击确认即可;
4. 在执行封包前,你还需要点击右下角的“文件选项”,对文件进行压缩
5. 最后,就可以执行封包了!经过等待,就可看到文件已成功保存。关闭软件,可以在生成的位置中发现默认为原名+_boxed.exe的文件;
6. 此时,就可以将它发送给任何人进行使用。