Qt 打包 exe 避坑指南:windeployqt + NSIS 生成安装包

发布时间:2026/11/14 16:40:40
Qt 打包 exe 避坑指南:windeployqt + NSIS 生成安装包 本文介绍如何将 Qt 开发的应用程序打包成专业的 Windows 安装包.exe使用 windeployqt 收集依赖再通过 NSIS 制作安装程序。一、准备工作二、第一步生成 Release 版 exe必须使用 Release 模式编译Debug 版本依赖调试库体积大且无法独立运行。1在 Qt Creator 中打开项目2将构建模式切换为 Release3编译项目4找到生成的 .exe 文件一般位于text 项目根目录/build-项目名-Desktop_Qt_版本号_编译器-bit-Release/release/三、第二步收集 Qt 依赖库Qt 程序依赖大量动态链接库DLL需要使用 windeployqt 工具自动收集。3.1 创建独立文件夹新建一个文件夹如 package将上一步生成的 .exe 复制进去。3.2 运行 windeployqt打开 Qt 自带的命令行工具不要用 Windows 自带的 cmdcd 到 package 目录执行bash windeployqt.exe--release YourApp.exe3.3 检查依赖windeployqt 会自动复制所有必需的 Qt 库、插件如 platforms/qwindows.dll、QML 文件等到 exe 所在目录。注意如果程序使用了 Qt 的图片格式插件如 jpg、gif需要额外检查 imageformats 文件夹是否被正确拷贝。四、第三步使用 NSIS 制作安装包4.1 编写 NSIS 脚本创建一个 .nsi 脚本文件这是 NSIS 的配置文件用于定义安装包的行为。以下是一个完整的脚本模板;启用 Unicode 支持避免中文乱码 Unicode true;引入现代界面库!includeMUI2.nsh;基础信息 NameYourAppNameOutFileYourApp-Setup-v1.0.0.exeInstallDir$PROGRAMFILES64\YourAppNameRequestExecutionLevel admin;压缩方式 SetCompressor/SOLID lzma;界面页面配置!insertmacro MUI_PAGE_WELCOME!insertmacro MUI_PAGE_DIRECTORY!insertmacro MUI_PAGE_INSTFILES!insertmacro MUI_PAGE_FINISH;卸载页面!insertmacro MUI_UNPAGE_WELCOME!insertmacro MUI_UNPAGE_CONFIRM!insertmacro MUI_UNPAGE_INSTFILES;语言简体中文英文可选!insertmacro MUI_LANGUAGESimplifiedChinese!insertmacro MUI_LANGUAGEEnglish;安装主逻辑 SectionInstall;设置安装目录 SetOutPath$INSTDIR;复制所有文件已用 windeployqt 收集好依赖 File/rpackage\*.*;创建桌面快捷方式 CreateShortcut$DESKTOP\YourAppName.lnk$INSTDIR\YourApp.exe;创建开始菜单快捷方式 CreateDirectory$SMPROGRAMS\YourAppNameCreateShortcut$SMPROGRAMS\YourAppName\YourAppName.lnk$INSTDIR\YourApp.exeCreateShortcut$SMPROGRAMS\YourAppName\卸载.lnk$INSTDIR\Uninstall.exe;写入卸载程序 WriteUninstaller$INSTDIR\Uninstall.exe;写入注册表用于控制面板显示 WriteRegStr HKLMSoftware\Microsoft\Windows\CurrentVersion\Uninstall\YourAppName\DisplayNameYourAppNameWriteRegStr HKLMSoftware\Microsoft\Windows\CurrentVersion\Uninstall\YourAppName\UninstallString$INSTDIR\Uninstall.exeSectionEnd;卸载逻辑 SectionUninstallDelete$INSTDIR\*.*RMDir/r$INSTDIRDelete$DESKTOP\YourAppName.lnkRMDir/r$SMPROGRAMS\YourAppNameDeleteRegKey HKLMSoftware\Microsoft\Windows\CurrentVersion\Uninstall\YourAppNameSectionEnd4.2 脚本关键配置说明4.3 编译生成安装包两种方式命令行在 NSIS 安装目录下运行bash makensis.exe YourApp.nsi2图形界面右键点击 .nsi 文件 → “Compile NSIS Script”或拖入 NSIS 窗口编译。编译成功后会在脚本同级目录生成 YourApp-Setup-v1.0.0.exe 安装包。五、常见问题与解决六、总结完整流程概览编写 Qt 程序 ↓ Release 模式编译生成.exe ↓ windeployqt 收集依赖库 ↓ 编写 NSIS 脚本.nsi ↓ makensis 编译生成安装包 ↓ 测试安装包 → 发布按照以上步骤你可以将 Qt 应用程序打包成专业的 Windows 安装包方便分发给用户使用。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询