在这篇教程中,我将向您解释如何将Qt项目生成为可执行的exe安装包。这将使用户在未安装Qt库的情况下有效地在Windows上运行Qt应用程序。我们将使用Qt库,qmake构建工具,以及Inno Setup精简版安装程序,将所有必要的库和文件捆绑到一个安装包中。
1. 准备Qt工程
首先,确保您的Qt工程被正确配置,无报错。监听你的`.pro`文件,确保要包括的所有库和模块都已经添加了。
2. 生成Release版exe
使用Qt Creator的编译环境切换到“Release”模式,然后单击“构建”以生成release版的可执行文件(exe)。默认情况下,此可执行文件将位于`<项目根目录>/release/`中。
3. 收集依赖库
从此处开始,我们需要手动收集Qt应用程序需要运行的所有依赖库。您可以使用`windeployqt.exe`工具(位于Qt安装目录中)自动完成此过程。运行如下命令:
```
```
例如:
```
C:/Qt/5.15.2/msvc2019_64/bin/windeployqt.exe --release --no-translations --no-angle --no-opengl-sw --qmldir C:/myproject/qml C:/myproject/release/myapp.exe
```
4. 创建Inno Setup脚本
下载并安装Inno Setup:http://www.jrsoftware.org/isdl.php (选择精简版足矣)。然后创建一个名为`installer_script.iss`的新文件并编辑内容如下:
```
[Setup]
AppName=MyApp
AppVersion=1.0
DefaultDirName={pf}\MyApp
OutputBaseFilename=MyAppSetup
Compression=lzma
SolidCompression=yes
[Files]
Source: "C:\myproject\release\myapp.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\myproject\release\*.dll"; DestDir: "{app}"; Flags: ignoreversion
[Icons]
Name: "{group}\MyApp"; Filename: "{app}\myapp.exe"
[Run]
Filename: "{app}\myapp.exe"; Description: "Launch MyApp"; Flags: nowait postinstall skipifsilent
```
请注意将“C:\myproject\release\myapp.exe”替换为Qt的release版exe文件的路径。
5. 生成安装包
打开Inno Setup,选择“打开现有脚本”,然后选择刚刚创建的`installer_script.iss`文件。在菜单栏中单击“构建”,然后根据提示选择输出目录。Inno Setup将创建一个名为“MyAppSetup.exe”的安装程序。
就是这样,您已经创建了一个包含所有依赖库和模块的Qt应用程序安装包。用户可以像其他常规Windows应用程序一样通过安装此程序来安装您的Qt应用程序。