有时候发布用Qt写的软件是件令人烦恼的事情,明明发布的只是一个简单功能的小软件,非得再附上一堆超大的动态链接库,实在让人觉得汗颜 。 在可执行文件单文件化方面,有多种方法。常用的是编译并使用静态 Qt 库、使用 exe 打包工具等。exe 打包工具有很多,本文介绍使用 Enigma Virtual Box 来打包和压缩文件。 从收集动态链接库开始 通常是通过查找软件对动态链接库的依赖来收集的,有多种流行的工具软件可供使用:Process Explorer(微软自家的东东)、Dependency Walker 都是不错的软件。但本文介绍的是Qt自带的小工具:windeployqt.exe windeployqt 是一个用于 Windows 系统上的控制台程序,方便起见,可以写一个批处理文件(*.bat)放在 exe 所在的文件夹: @echo off C:\Qt\Qt5.5.0\5.5\mingw492_32\bin\windeployqt.exe target.exe(换成你的exe文件名) pause 执行批处理后可以看到文件夹加入了不少动态链接库: 注意,可能会缺少三个动态链.... Qt 实现单个EXE文件(绿色运行版) Enigma Virtual Box qt