C++ QT程序打包,包含python环境

news/2024/9/25 17:36:53/

C++ QT程序打包,包含python环境

1、导出QT可执行包

首先在QTcreator中选择对应的项目,完成release版本的发布(确保调试成功)

在这里插入图片描述

找到生成release的文件夹所在处,将exe执行所需的附加文件一起复制到一个单独文件夹中,我这里所需的是红框所标注的文件

在这里插入图片描述
在这里插入图片描述

在该文件夹中无法直接执行CBM,需要将执行需要的.dll库生成出来,在该路径下打开控制台CMD,并在控制台中输入:

 windeployqt.exe .\CBM.exe

在这里插入图片描述

生成需要的dll之后就可以正常启动exe文件,到此QT的准备工作结束。

2、Pinstaller导出python所需环境

找到python程序的主入口文件,并打开控制台,在控制台中输入

pyinstaller desktop_app.py

会在当前目录生成dist和build两个文件夹,其中python运行所需的dll库文件在../dist/desktop_app/_internal,

在这里插入图片描述

将该目录下所有文件复制到CBM.exe目录下即可

在这里插入图片描述

3、使用NSIS制作安装包

环境安装

在进行程序打包工作之前,需要先安装NSIS的运行环境。

1.脚本编译器:脚本文件编译器,可以根据你写的脚本生成可执行文件。

进入下载页面之后点击Download,跳转页面后会自动下载。

downloadNSIS

2.*NSIS中文用户手册*,如果你以前没有接触过的话,建议搜索一下文档查看一下接口以及官方提供的示例,这样学习起来比较快

3.脚本编辑器NSISEDIT:脚本编辑器,总不可能用记事本编辑脚本,偶尔出现错误也不好调试。

进入下载页面之后往下拉,找到Download,点击Nisedit2.0.3.exe,跳转后等待下载。

downloadNSISEdit

NSIS脚本编辑器安装好之后,就可以参考文档开始学习了。

制作安装包教程

安装完成后,打开HM NIS Edit,左上角新建脚本向导

在这里插入图片描述

第一步修改程序名,其他信息可根据实际情况修改

在这里插入图片描述

第二步修改安装图标,上传.icon文件即可,安装程序文件需要选定setup.exe的生成路径,默认是在桌面生成。其他选项不用管,直接下一步

在这里插入图片描述

第三步授权文件即安装时的权益声明,最好不要空着,

在这里插入图片描述

第四步,选择需要打包的文件,需要将默认的路径删除,并通过adddir或者adddirtree添加文件,这里只需要将第一步导出的可执行包中的全部文件导入即可

在这里插入图片描述
在这里插入图片描述

选择文件时直接选择可执行包的母文件即可
在这里插入图片描述

第五步会生成两个lnk文件,必须出现这两文件才算成功

在这里插入图片描述

第六步直接下一步

第七步可以给卸载的exe程序添加图标,同安装图标一样,选择.icon文件即可

在这里插入图片描述

最后一步,将对应按钮全选,完成即可

在这里插入图片描述

完成之后,会在对应路径下生成setup.exe文件,该文件可以迁移到其他机器安装并使用

在这里插入图片描述


http://www.ppmy.cn/news/1530387.html

相关文章

Spring IDEA 2024 安装Lombok插件

1.简介 Lombook插件的Data标签可以自动生成类的get和set以及toString方法。 2.安装步骤 在idead设置的插件中搜索lombok插件&#xff0c;安装。 在Spring项目的pom.xml中添加依赖项 <dependency><groupId>org.projectlombok</groupId><artifactId…

Fyne ( go跨平台GUI )中文文档-小部件 (五)

本文档注意参考官网(developer.fyne.io/) 编写, 只保留基本用法 go代码展示为Go 1.16 及更高版本, ide为goland2021.2 这是一个系列文章&#xff1a; Fyne ( go跨平台GUI )中文文档-入门(一)-CSDN博客 Fyne ( go跨平台GUI )中文文档-Fyne总览(二)-CSDN博客 Fyne ( go跨平台GUI…

聚焦汽车智能化与电动化,亚洲领先的汽车工业技术博览会 2025年11月与您相约 AUTO TECH 华南展

抢占市场先机︱聚焦汽车智能化与电动化&#xff0c;亚洲领先的汽车工业技术博览会 2025年11月与您相约 AUTO TECH 华南展 随着汽车智能化与电动化的迅猛发展&#xff0c;汽车电子技术、车用功率半导体技术、智能座舱技术、轻量化技术/材料、软件定义汽车、EV/HV技术、测试测量技…

leetcode24. 两两交换链表中的节点,递归

leetcode24. 两两交换链表中的节点 给你一个链表&#xff0c;两两交换其中相邻的节点&#xff0c;并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题&#xff08;即&#xff0c;只能进行节点交换&#xff09;。 示例 1&#xff1a; 输入&#xff1a;he…

【LeetCode】每日一题 2024_9_25 公司命名(字符串、乘法原理)

前言 每天和你一起刷 LeetCode 每日一题~ LeetCode 启动&#xff01; 题目&#xff1a;公司命名 代码与解题思路 func distinctNames(ideas []string) (ans int64) {// ideas ["coffee","donuts","time","toffee"]// 根据首字母分…

开源 AI 智能名片与 S2B2C 商城小程序:嫁接权威实现信任与增长

摘要&#xff1a;本文探讨了嫁接权威在产品营销中的重要性&#xff0c;并结合开源 AI 智能名片与 S2B2C 商城小程序&#xff0c;阐述了如何通过与权威关联来建立客户信任&#xff0c;提升产品竞争力。强调了在当今商业环境中&#xff0c;巧妙运用嫁接权威的方法&#xff0c;能够…

VMWare虚拟机键盘卡顿

文章目录 环境问题解决办法参考 环境 Windows 11 家庭中文版VMware Workstation 17 ProUbuntu 24.04.1 问题 最近新入手了一台电脑台式机&#xff0c;型号是联想拯救者刃7000K&#xff0c;自带Win11家庭版。主机的CPU是第14代英特尔酷睿i9处理器&#xff0c;异构24核32线程。…

android11 自动授权访问sdcard

目录 步骤1 步骤2 步骤1 frameworks/base/core/java/com/android/internal/os/ZygoteInit.java OsConstants.CAP_SYS_PTRACE,OsConstants.CAP_SYS_TIME,OsConstants.CAP_SYS_TTY_CONFIG,OsConstants.CAP_WAKE_ALARM,OsConstants.CAP_BLOCK_SUSPENDOsConstants.CAP_BLOCK_SUS…